2016-10-02 85 views
0

人可以幫我在下面的情形:Spring + Hibernate的自連接的情況下

我有兩個表的列:

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 

所以我想在這兩個表之間的休眠中建立關係。我想使用JPA來持久化我的對象或檢索。

請幫我提前

+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

+0

感謝您的答覆。 @Naros。一個問題,我將如何獲得基於員工的同事。 –

+0

假設你知道你的員工ID,你可以寫一個簡單的查詢,如'SELECT c FROM同事c JOIN Employee e WHERE e.id =:id'。僅僅因爲這種關係是單向的,並不意味着你不能根據給定的員工屬性得到一個同事的名單。 – Naros

相關問題