jFr*_*tic 15 hibernate jpa-2.0
说,我有以下实体:
@Entity
public class A {
@Id
@GeneratedValue
private Long id;
@Embedded
private B b;
//getters and setters
}
@Embeddable
public class B {
@OneToMany
private List<C> cList;
//getters and setters
}
@Entity
public class C {
@Id
@GeneratedValue
private Long id;
//other fields, getters and setters
}
Run Code Online (Sandbox Code Playgroud)
使用模式自动生成功能,Hibernate我得到一个额外的表,其中包含A和之间的映射C.但是,我想实现通过添加一个一对多的关系A的编号为C(例如,没有附加表).
这可能吗?如果是,我应该使用哪些注释来创建这样的映射?
Mik*_*unu 10
通常,使用@JoinColumn注释可以实现.它也适用于嵌入式.
@OneToMany
@JoinColumn(name="A_ID")
private List<C> cList;
Run Code Online (Sandbox Code Playgroud)
如果您对embeddable中给出的列的A_ID名称不满意,则可以覆盖实体A中的列名:
@AssociationOverride(name= "cList",
joinColumns = @JoinColumn(name="SOME_NAME_FOR_JOIN_COLUMN_IN_TABLE_C"))
@Embedded
private B b;
Run Code Online (Sandbox Code Playgroud)