Spring + Hibernate Self join case

时间:2016-10-02 15:45:56

标签: hibernate spring-mvc nhibernate-mapping

有人可以帮我解决以下问题:

我有两个包含列的表:

1) Employee: empId, empName
2) Colleague : colleagueId, empId(as a foreign key refers Employee.empId)

数据可能在表格中:

Employee Table
empId    empName
1        Devesh
2        Nitin
3        Deep

同事表

colleagueId    empId
1              1
2              2
3              1
4              2
5              3

所以我想在这两个表之间的hibernate中构建关系。我想使用JPA来持久化我的对象或检索。

请帮帮我

提前致谢

1 个答案:

答案 0 :(得分:1)

您所描述的是一个经典且非常简单的单向@ManyToOne案例。在这种情况下,管理Employee时不知道Colleague

您的映射看起来如下所示:

@Entity
public class Employee {
  @Id
  @Column(name = "empId")
  private Long id;
  @Column(name = "empName")
  private String employeeName;
  // getter & setters 
}

@Entity
public class Colleague {
  @Id
  @Column(name = "colleagueId")
  private Long id;
  @ManyToOne
  @JoinColumn(name = "empId", referencedColumnName = "empId")
  private Employee employee;
  // getter & setters
}

HTH