2015-10-15 213 views
0

我有2個表,比如說表A和表B. 我必須創建3個字段與B的primaryId(nullable = true)具有外鍵關係。多個字段映射到相同的外鍵的JPA映射

因此以A創建一個行,我們必須有3行中B. B的所有這些3的PrimaryKey將在A的3個字段中插入

例子:

A fields are: 
    id(Primary) 
    DepartmentName1Id 
    DepartmentName2Id 
    DepartmentName3Id 

B fields are: 
    id(Primary) 
    departmentName 
    departmentAddress 
    departmentPin 

在這裏以上示例DepartmentName1IdDepartmentName2IdDepartmentName3Id將保存不同的B ID(主要)。它可以爲空,但如果不是,那麼B中必須有條目。

如何通過實體類在這些表A和B之間創建JPA映射關係。

+1

邀請您閱讀我關於JPA的帖子。這些文章是西班牙文,但很容易理解:http://aquiseprograma.co/category/jpa/ – maframaran

+1

我想弄清楚你的問題。 id只是主鍵?或者你使用由ID,部門名稱,地址和PIN組成的組合主鍵?這個'你在A中創建一行,我們必須在B'中有3行?你可以顯示包含數據的樣本表來說明關係下注。這兩個實體? – Ish

回答

1

你所描述什麼是公正的:

@Entity 
public class A { 
    @Id 
    Integer id; 
    @OneToOne 
    B DepartmentName1Id; 
    @OneToOne 
    B DepartmentName2Id; 
    @OneToOne 
    B DepartmentName3Id; 
} 

@Entity 
public class B { 
    @Id 
    Integer id; 
    String departmentName; 
    String departmentAddress; 
    String departmentPin; 
}