Jpa从引用表中插入值

时间:2017-12-12 08:26:11

标签: java hibernate jpa

如何在从另一列引用的表中的列中插入值?例如,我有两个实体:

@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())

1 个答案:

答案 0 :(得分:0)

我不得不说你的情况有点令人困惑。如果你说aName必须是名字但是DB本身没有规则,我觉得有些干扰。如果A和B是应该共享名称的实体,我建议您将名称排除为新实体,并通过primay key(可能是某些生成密钥)将其加入A和B实体。或者您可以在B中使用对A的引用并直接使用名称,如果B在实体视图中是某种“子”角色...