1

我有以下代码,其中 em 是 EntityManager:

Query query = em.createQuery( "SELECT e FROM TODO e " );
ret = (TODO) query.getSingleResult();
em.detach( ret );
return ret;

一旦我从这个方法返回 ret (并离开班级),实体管理器不会分离吗?为什么我需要使用分离方法?

4

2 回答 2

2

当期望回调方法能够访问(读取)但不会在我的事务过程中影响/更改对象时,我将在将实体移交给用户方法(可能是回调方法)之前将其分离。

于 2013-07-16T18:28:22.753 回答
0

交易结束时实体自动分离。有时您想在之前分离实体,因为您想在实体中进行不希望自动持久化的更改。

于 2013-07-16T18:22:52.663 回答