java - Hibernate - 删除对象

标签 java hibernate jpa transactions entitymanager

如果我想使用 hibernate 删除一个实体,我会收到消息正在删除分离的实例...。我明白这是因为我的交易/ session 已关闭。

目前我是如何做到的:如果我查找一个对象,我打开一个事务,进行查找,提交,关闭事务。删除也一样。 删除的正确方法是什么?我是否需要始终保持我的交易处于打开状态(删除是在查找后一段时间执行的)。或者我需要再次查找删除吗?

最佳答案

您有 2 个选择:

保持 session 打开时间更长,以便加载对象的同一个 session 可以删除它 - 这实际上取决于应用程序的体系结构。

或者在删除调用之前重新加载对象。

关于java - Hibernate - 删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16833358/

相关文章:

Java Scanner() 从数组中读取

java - 在 Spring security OAUTH 中定义多个 TokenStore(s)

java - Server Tomcat v8.5 Server at localhost 无法启动 Spring Project

java - 无法存储包含特殊字符的消息

Java:将字符串转换为日期

java - 如何通过 java 检索附件列表 JIRA rest api?

java - Spring JPA hibernate 副本

java - 如何在 hibernate 5.2 标准中使用 AND?

java - JPA CriteriaBuilder 日期操作

java - JPQL getResultList 转换为具有比从数据库中选择的更多属性的类