2013-12-12 73 views
0

對於測試,我需要分離一個實體,但我沒有直接訪問EntityManager。所以我不能使用類似:沒有EntityManager的分離實體

em.detach(myEntity); 

是否有另一種簡單的方法來簡單地分離的實體?我有權訪問我的嵌入式EJBContainer。

+1

只需創建一個新的實體對象(如果需要的子對象,遞歸)和'myEntity'複製所有屬性吧。 –

+2

我不認爲你可以。它是負責維護其持久性上下文的EntityManager。如果您無法訪問它,則無法操作上下文。我寧願專注於如何訪問EntityManager,而不是解決事實上沒有它的問題。 – Gimby

+1

你可以使用JNDI來查找EntityManager嗎?這裏的示例:https://weblogs.java.net/blog/ss141213/archive/2005/12/dont_use_persis_1.html –

回答

-2

如果您修改MyEntity並且不保留此更改,則該實體將被分離。

問候

+1

你在說什麼?它的JPA,在一個被管實體上的變化將在事務提交時被持久化。這是關於手動分離一個實體,而不是關於堅持什麼。 – Gimby

+0

@esmoreno我不知道你在說什麼...... –

相關問題