我正在为所有客户构建一个具有共同实体基础的网络应用
现在有些客户需要其他字段,但我不想添加所有字段。我想到了类似的东西:
@Embeddable
public class AdditionalDetails {
private String label;
private String text;
public AdditionalDetails() {}
// autogenerated getters and setters, hashCode(), equals()
}
@Entity
public class BusinessObject {
@Id
@Column(name = "string_id")
private long id;
@ElementCollection(fetch=FetchType.EAGER)
@MapKey(name = "language")
@CollectionTable(schema = "label", name = "multilingual_string_map",
joinColumns = @JoinColumn(name = "string_id"))
private Map<String, AdditionalDetails> map = new HashMap<String, AdditionalDetails>();
public BusinessObject() {}
// autogenerated getters and setters, hashCode(), equals()
}
问题不在于我要配置哪些属性由BusinessObject添加?
答案 0 :(得分:0)
您可以从基类中删除@Entity
注释。
然后从基类创建子类并将@Entity
注释添加到子类。
现在,您可以避免将所有属性放在基类中,而是可以将它们添加到适当的子类中。