分离的实体和托管实体

时间:2011-12-09 05:26:00

标签: java database jpa ejb entity

什么是“独立实体”? 如何在事务期间将托管实体转换为分离的实体?

3 个答案:

答案 0 :(得分:20)

分离实体是JPA提供者不得反映其状态的实体。

换句话说,如果您更改其状态(即通过setter方法),这些更改将不会保存到基础数据库,因为JPA提供程序不必“观察”此类实体。

如果实体E1是托管实体,您可以使其分离调用(非常合理命名)方法EntityManager#detach(E1)。您还可以使用EntityManager#clear()清除整个PersistenceContext并有效地使所有托管实体分离。

答案 1 :(得分:9)

  

实际上,分离的实体是什么意思?

分离的实体对象是处于特殊状态的对象,它们不由任何EntityManager管理,但仍然代表数据库中的对象。阅读更多source

  

以及如何在事务期间将托管实体转换为分离的实体?

Read here

答案 2 :(得分:6)

Here您可以阅读有关JPA实体生命周期的内容。

例如,在序列化或关闭持久化上下文后,可以分离实体。