【发布时间】:2012-01-19 01:25:47
【问题描述】:
我对分离实体的删除操作有疑问。
根据规范 “如果 X 是一个分离的实体,删除操作将抛出 IllegalArgumentException(或事务提交将失败)。”
但是删除操作对于分离的实体可能是有效的。对于事务范围的持久性上下文,请考虑以下场景:
1) 一个实体在事务 T1 中被持久化到数据库中。所以它变得分离。 2) 在事务 T2 中对这个分离的实体进行了删除调用。
因为实体存在于数据库中,所以删除调用应该是有效的,并且实体应该作为事务 T2 的结果从数据库中删除。但是根据规范,remove 应该抛出异常,否则事务提交应该失败。
我在这里遗漏了什么吗?是什么原因?
【问题讨论】:
-
您使用的是什么版本的hibernate,以及如何删除分离的实体,请发布您的代码。
-
我正在使用 JSF ....没有与此问题相关的代码。
-
这与 JSF 完全无关。这与 JPA 有关。