2014-02-13 183 views
0

問題我有兩個表ProductDetails和PartNumber。 ProductDetails表中有一個partNumber字段,它也是PartNumber表的主鍵。休眠一對一映射

當前映射:

爲部分號碼錶:

@Id 
@Column(name = "Part_Number") 
private String partNumber; 

數據到部分號碼字段被分別加入。現在我想將其作爲ProductDetails部分的一列添加。應如何規定關係。它是一對一的關係。一個ProductDetail只有一個PartDetail。我寫了類似的東西。

@OneToOne(mappedBy = "partNumber") 
private PartNumber part_number = new PartNumber(); 

它應該如何在PartNumber表中?

更新

在產品詳細表中的列是一樣的東西

編號,產品名稱,PartUsed,說明。

在本部分中應該參考PartNumber表的Part_Number列。

+0

什麼是當前的設置問題? – Smutje

+0

@Smutje如何在ProductDetail表中指定DB中part_number的列名?上述設置是否正確? –

+0

該列沒有名稱,因爲關係信息存儲在PartNumber-table中。您可以(但不必)添加對「parent」ProductDetails對象的引用,並用'@ OneToOne'註釋。 – Smutje

回答

0

在部分號碼錶註釋應該是:

@OneToOne 
    @PrimaryKeyJoinColumn 
    private ProductDetails productDetails; 

而且在ProdctionDetails表annotaion應該是:

@OneToOne(mappedBy="productDetails") 
@JoinColumn(name="Part_Number") 
private PartNumber partNumber;