【问题标题】:One to Many relation between an Entity Class and Enum lookup Class实体类和枚举查找类之间的一对多关系
【发布时间】:2014-01-29 12:39:32
【问题描述】:

我需要使用具有额外属性的连接表在实体和枚举查找表之间创建多对多关系。我知道如何写出两个实体表之间的这种关系,但是当另一个表是枚举查找表时,我认为不能使用相同的技术。

枚举表:

public enum SAMPLE implements StringValuedEnum {
A("1123"), 
B("231"), 
C("311"), 
D("4001");

private String dbCode;

SAMPLE(String dbCode) {
    this.setDbCode(dbCode);
}

@Override
public String getDbCode() {
    return this.dbCode;
}

public void setDbCode(String dbCode) {
    this.dbCode = dbCode;
}

} 我确信这不是一个新问题。有什么建议吗?

【问题讨论】:

  • 什么是枚举查找表?它是映射到枚举值的常规表吗?
  • 是的。编辑问题。

标签: hibernate jpa enums


【解决方案1】:

我找到了解决办法。我正在使用自定义枚举类型。

@ElementCollection(targetClass = Category.class, fetch = FetchType.EAGER)
@CollectionTable(name = "ENT_CATG", joinColumns = @JoinColumn(name = "ENT_SID"))
@Column(name = "CATG_CD", nullable = false)
@Type(type = "com.sample.data.common.IntValuedEnumType", parameters = { @Parameter(name = "enumClass", value = "com.sample.data.model.types.Category") })
private Set<Category> categories = new HashSet<Category>();

上一个问题有所帮助:

Mapping Set<enum> using @ElementCollection

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    相关资源
    最近更新 更多