2014-01-30 46 views
0

我有一個類型A的實體與B類型的引用成員實體。 我想在A的一個實例與B的現有實例之間插入一個關係而無需獲取B 。休眠 - 通過ID添加成員實體實例

有沒有辦法簡單地通過ID來完成它?例如:

B mockB = new B();

mockB.id =「id_persisted_b」;

instanceA.setB(mockB);

謝謝。

回答

0

如果你正在使用JPA可以使用EntityManager.getReference()到obatin對象的代理沒有獲取所有領域,例如:

B mockB = entityManager.getReference(B.class, "id_persisted_b"); 
instanceA.setB(mockB); 
0

如果您使用Fetch類型LAZY hibernate不會加載對象,它只會在您需要時加載對它的引用。就像擁有元素的PrimaryKey一樣。它會自動完成。

0

延遲抓取決定是否在加載父對象加載子對象。您需要執行此操作來設置父類的各自的hibernate映射文件。

Lazy = true(表示不加載孩子)。默認情況下,子對象的延遲加載是真實的。