非主键之间的休眠关系OneToMany

时间:2020-03-24 15:46:11

标签: hibernate join primary-key hibernate-onetomany

我对Hibernate有疑问。

表的说明:

表A:id,X 表B:id,Y

属性X和Y不是主键。但是A和B之间的联接具有这些属性。

加入:A.X = B.Y

表A的出现是指表B的多次出现。

如何与Hibernate实现这种关系?使用@JoinFormula吗?

public class A {

  @Id
  private Long id;

  @OneToMany
  private List<B> listOfB;
}

public class B {

  @Id
  private Long id;

  private Integer Y;
}

多谢。

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

@Entity
public class B {

  @Id
  private Long id;

  @ManyToOne
  @JoinColumn(name = "Y", referencedColumnName = "X")
  private A aClass;
}

@Entity
public class A {

  @Id
  private Long id;

  @OneToMany(mappedBy = "aClass")
  private List<B> listOfB;
}