1

如果我想用休眠删除一个实体,我会收到消息Removing a detached instance...。我知道那是因为我的交易/会话已关闭。

目前我是怎么做的:如果我查找一个对象,我打开一个事务,进行查找,提交,关闭事务。删除也是一样。删除的正确方法是什么?我是否需要一直保持我的事务打开(删除是在稍后作为查找执行的)。还是我需要再次查找删除?

4

2 回答 2

1

您还可以使用传递主键字段值的子句创建和执行DELETE查询。WHERE在这种情况下,您不必重新附加您的实体。

于 2013-05-30T10:31:13.223 回答
1

您有 2 个选项:

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

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

于 2013-05-30T10:14:11.520 回答