我的实体看起来像这样。
@Entity
class Property extends BaseEntity {
@Basic
private String name;
@Basic
private String value;
}
基本意图是将此实体用作其他实体属性。
@Entity
class MyEntity extends BaseEntity {
@OneToMany
private List<Property> properties;
}
@Entity
class YourEntity extends BaseEntity {
@OneToMany
private List<Property> properties;
}
我该怎么做?我是否必须在Property
中定义每个所有者的字段?
@Entity
class Property extends BaseEntity {
@Basic
private String name;
@Basic
private String value;
@ManyToOne(optional = true)
private MyEntity myEntity;
@ManyToOne(optional = true)
private YourEntity yourEntity;
@ManyToOne(optional = true)
private OtherEntity otherEntity;
}
答案 0 :(得分:1)
基本上,这是一个很好的解决方案。可以选择创建一个连接表,它将帮助您保持实体“更清洁”(也可以用作ManyToMany。在大多数情况下,我更喜欢使用您提供的选项[简单是一个gooooood事情:)],但其他同事对这个问题有不同的看法。
TL.DR:您提供的代码正常运行,我个人更喜欢它。还有其他方法,但这些方法有点慢等。