分离实体和托管实体

2022-09-01 07:36:45

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


答案 1

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

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

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


答案 2

实际上,独立实体是什么意思?

分离的实体对象是处于特殊状态的对象,在这种状态下,它们不受任何对象的管理,但仍表示数据库中的对象。阅读更多来源EntityManager

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

在这里阅读


推荐