我有一個類型A的實體與B類型的引用成員實體。 我想在A的一個實例與B的現有實例之間插入一個關係而無需獲取B 。休眠 - 通過ID添加成員實體實例
有沒有辦法簡單地通過ID來完成它?例如:
B mockB = new B();
mockB.id =「id_persisted_b」;
instanceA.setB(mockB);
謝謝。
我有一個類型A的實體與B類型的引用成員實體。 我想在A的一個實例與B的現有實例之間插入一個關係而無需獲取B 。休眠 - 通過ID添加成員實體實例
有沒有辦法簡單地通過ID來完成它?例如:
B mockB = new B();
mockB.id =「id_persisted_b」;
instanceA.setB(mockB);
謝謝。
如果你正在使用JPA可以使用EntityManager.getReference()
到obatin對象的代理沒有獲取所有領域,例如:
B mockB = entityManager.getReference(B.class, "id_persisted_b");
instanceA.setB(mockB);
如果您使用Fetch類型LAZY hibernate不會加載對象,它只會在您需要時加載對它的引用。就像擁有元素的PrimaryKey一樣。它會自動完成。
延遲抓取決定是否在加載父對象加載子對象。您需要執行此操作來設置父類的各自的hibernate映射文件。
Lazy = true(表示不加載孩子)。默認情況下,子對象的延遲加載是真實的。