gpt4 book ai didi

hibernate - 具有@OneToMany属性的可嵌入实体

转载 作者:行者123 更新时间:2023-12-03 14:59:35 28 4
gpt4 key购买 nike

说,我有以下实体:

@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
}


Hibernate中使用模式自动生成功能,我得到了一个附加表,其中包含 AC之间的映射。但是我想通过将 A的ID添加到 C中来实现一对多关系(例如,不使用其他表)。

这可能吗?如果是,我应该使用什么注释来创建这种映射?

最佳答案

通常,使用@JoinColumn批注是可能的。它也适用于可嵌入对象。

@OneToMany
@JoinColumn(name="A_ID")
private List<C> cList;


如果您对embeddable中指定的列的A_ID名称不满意,则可以覆盖实体A中的列名称:

@AssociationOverride(name= "cList",
joinColumns = @JoinColumn(name="SOME_NAME_FOR_JOIN_COLUMN_IN_TABLE_C"))
@Embedded
private B b;

关于hibernate - 具有@OneToMany属性的可嵌入实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9878066/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com