2011-08-31 65 views
0

我遇到EntityManager.persist問題(我使用tooplink of glassfish)。負載相關實體上的EntityManager.persist問題

我的代碼是:

MyEntity e = new MyEntity(); 
MyEntityPK ePK = new MyEntityPK(); 
ePK.setField1("aaa"); 
ePK.setField2("bbb"); 

e.setMyEntityPK(ePK); 
e.setFiled3(ccc); 

entityManager.persist(e); 

//HERE NOT PROBLEM 
//If a i want a related entity, i get null 

AnotherEntity anotherEntity = e.getAnotherEntity(); 
//a is null 

爲什麼 「anotherEntity」 爲空?堅持後,對象開始附加到PersistenceContext。 爲什麼相關的實體沒有加載,如果我打電話getAnotherEntity()

坦克!

Luigi

+0

getAnotherEntity()做了什麼。如果你評論堅持它是否奏效? – Preston

回答

0

persist()持續存在(插入)該對象。它堅持你傳遞它的東西,在持久化之前和之後對象將保持不變,除了可能的分配生成的id。

你似乎想找到一個現有的實體不堅持一個新的。爲此,你應該使用find()而不是持久化。

+0

答案是OK! – Luigi