2013-12-12 35 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我不知道你在说什么...... –

相关问题