我有以下类别:JPA:单向一对多问题
class A{
@OneToOne(cascade=CascadeType.ALL)
private B b;
}
class C{
@ManyToOne
private A a;
}
class B{
@OneToOne
private A a;
@MapKey(name = "name")
@OneToMany(cascade = CascadeType.ALL, ...)
@JoinColumn(...)
private Map<String C> cs;
}
如何做我必须指定在B.cs映射加入其中B.a == C.A?
这可能吗?或者我必须将C.a属性更改为C.b? (我更愿意保持原样,因为实体B只是一个辅助类。) 我也尝试将B更改为@Embeddable,但Map不支持嵌入。
“derive”是什么意思?遗产?。这是一个组合,其中A有更多的属性,B有更多的属性。一个关系(继承)在这里是错误的。 – Puce 2011-03-27 18:12:11
我的意思是'延伸'在这里。也许你是对的。在这种情况下,我个人将创建另一个基类_A,并使A和B扩展_A。 – 2011-03-27 23:55:49