我有一个实体 Y,想在多个不相关的实体 X1、X2、... 中嵌入一个 Y 列表。关系应该是双向的。这可以用@ManyToOne/@OneToMany 完成吗?我试过了
@Entity
class X1 {
@Id
String uuid_;
@OneToMany(mappedBy="owner_")
List< Y > yList_;
}
@Entity
class X2 {
@Id
String uuid_;
@OneToMany(mappedBy="owner_")
List< Y > yList_;
}
@Entity
class Y {
@Id
String uuid_;
@ManyToOne
String owner_;
}
但这不起作用,因为 String 不是实体,不能用作关系属性。
我还尝试将“String owner_”替换为“XBase owner_”,使用 XBase 作为 X1 和 X2 的 @MappedSuperClass。这产生了相同的错误:“[class Y] 使用非实体 [class XBase] 作为关系属性 [field owner_] 中的目标实体”。
我想知道在关系的“一”端是否有可能有不同的不相关类型。您将如何与 JPA 实现这种关系?