如何在从另一列引用的表中的列中插入值?例如,我有两个实体:
@Entity
class A {
@Id
@Column
Long id;
@Column
String name;
}
@Entity
class B {
@Id
@Column
Long id;
@JoinColumn
A a;
@Column
//Something @Expression("a.name")
String aName;
}
在表B中,我引用了表A,它也有字段aName
,它必须是来自A表的值name
。
JPA是否有任何默认注释来执行此插入而不是b.setAName(a.getName())
?
答案 0 :(得分:0)
我不得不说你的情况有点令人困惑。如果你说aName必须是名字但是DB本身没有规则,我觉得有些干扰。如果A和B是应该共享名称的实体,我建议您将名称排除为新实体,并通过primay key(可能是某些生成密钥)将其加入A和B实体。或者您可以在B中使用对A的引用并直接使用名称,如果B在实体视图中是某种“子”角色...