分离实体和托管实体
“分离实体”是什么意思?如何在事务期间将托管实体转换为分离的实体?
分离的实体是其状态不得由 JPA 提供程序反映的实体。
换句话说,如果您更改其状态(即通过 setters 方法),这些更改将不会保存到基础数据库中,因为 JPA 提供程序不必“观察”此类实体。
如果实体 E1 是托管实体,则可以使其分离,调用(非常合理的命名)方法 EntityManager#detach(E1)。
您还可以使用EntityManager#clear(),
它将清除整个PersistenceContext,并有效地分离所有托管实体。