Hibernate:在commit()上分析“已删除的实体传递给持久化”

时间:2013-08-05 11:04:57

标签: hibernate jpa entitymanager

我有一个复杂的工作流业务调用重构:此工作流检索,更新和删除数据库上的某些实体。 最后我尝试删除一个实体,一旦我提交了事务,我得到:

javax.persistence.EntityNotFoundException: deleted entity passed to persist:[com.my.Entity#<null>] 

我认为还有另一个与此删除相冲突的操作,但我无法弄清楚哪个。

在提交阶段有一种方法(在Hibernate中记录一些调试信息),以查看与每个实体相关的操作?

有没有办法转储实体管理器的内部状态?

由于此操作仅在commit()被触发时发生,因此我无法理清发生冲突的位置。

1 个答案:

答案 0 :(得分:1)

在hibernate.cfg.xml中启用日志和sql跟踪

<property name="show_sql">true</property>
<property name="format_sql">true</property>

快速解决方案。
如果没有配置您的记录器,如描述here Look here用于参数值替换。