当前位置: 首页 > 面试题库 >

分离实体和受管实体

戚晨
2023-03-14
问题内容

“独立实体”是什么意思?在交易期间如何将托管实体转换为独立实体?


问题答案:

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

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

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



 类似资料:
  • 我有一个java代码,我正在更新staff实体。我正在使用应用程序管理的实体管理器。我在登录页面中有一个条件,如果用户提供了正确的用户名/密码,他的上次登录时间将被更新。 但是更新没有发生,我得到一个实体已被分离的异常。请参阅下面的代码:- staffDAOImpl.java:- 在StaffServiceImpl.java类中,您将看到我通过调用“StaffDAO.findUnique(logi

  • 问题内容: 我有以下代码: 这会在第四行引发IllegalArgumentException,提示“实体未管理”。如果我将第三行改为而不是,那么一切似乎都可以正常工作。 这里发生了什么?我可以防止这种情况发生吗? 更新: @DataNucleus将我引向PersistenceContext。如何在代码中更改持久性上下文? 问题答案: 根据Eval 2.0 Eval的JSR-000317持久性规范:

  • 我正在JPA上使用spring boot和hibernate。我正在使用JpaRepository接口来实现我的存储库。与下面的UserRepository一样 我想实现以下目标 加载用户实体。 更改实体对象的状态,例如user.setname(“foo”) 执行外部系统webservice调用。将调用结果保存在DB中 仅当成功响应此webservice调用时,才将用户的新状态保存在存储库中。 以

  • 问题内容: 我开始使用Spring Data JPA在Spring Boot应用程序上进行工作,以在用户和角色之间建立ManyToMany关系。 此关系在User类中定义如下: 我使用以下角色创建角色: 之后向用户分配角色失败: 引发以下异常(为便于阅读而设置格式): 但是,如果在创建关系之前保存了用户,则可以正常工作: 我不得不两次保存/更新用户似乎有些不合理。有什么方法可以在不先保存 用户的

  • 我有一段很长的JPA+Hibernate代码,它试图在循环中将大量记录插入到DB中。 更奇怪的是,我可以用下面的代码在一次迭代中再现错误。“分离的实体...”第二次刷新时抛出错误。那么这是否意味着第一次同花顺是一个无操作?

  • 我有一段运行时间很长的JPA+Hibernate代码,它试图在一个循环中将大量记录插入到DB中。 更奇怪的是,我可以用下面的代码在一次迭代中重现错误。“分离的实体...”第二次刷新时引发错误。那么这是否意味着第一次同花顺是没有操作的呢?