首页 > 解决方案 > 如何在单独的表格中正确显示枚举?

问题描述

有一个实体 - '参数',其中有一个枚举字段 - 'ValueType'

@Data
@Entity
public class Parameter {
    @Id
    @Column(name = "id", unique = true, nullable = false)
    private UUID id;

   @Enumerated(EnumType.String)
   private ValueType type;

}

public enum ValueType {
   STRING,
   NUMBER;
}

使“ValueType”成为一个单独的表的最佳实践是什么,这些表与 OneToOne 关系相关

标签: springhibernatejpaenums

解决方案


作为最佳实践,如果您需要枚举,您不会使用单独的表 - 您的方法看起来非常好。

如果要将值存储在单独的表中,则需要将其创建为实体(可能只有一个字段,即枚举值,它也是主键)并将其与 ManyToOne / OneToMany 链接。OneToOne 似乎没有多大意义。(您可以查看 Bootify.io 来执行这两个变体中的任何一个)


推荐阅读