1

我正在通过休眠搜索加载一些休眠对象,然后在 UI 中显示它们。在那里,我们的用户选择一个对象并从 @ManyToMany 关联中删除一些元素。

当然,正如刷新会话时在休眠文档中所写的那样,即使我没有在找到的对象中调用 Session#save ,更改也会自动保留。

但这不是我需要的行为。我需要我的用户从关联中删除对象,但只是暂时的,仅用于从修改后的对象生成报告而不更改我的数据库。因此,关联中删除的对象不会显示在我的报告中。

我怎样才能做到这一点?

我正在考虑将关联对象标记为可克隆并构建一个新实体并在那里进行更改,因为此特定 UI 中的所有操作都是只读的。

有什么建议么?

4

1 回答 1

1

用 标记集合cascade="evict"。然后根据需要删除对象,生成报告,然后evict()在刷新之前删除对象。

于 2012-07-11T19:18:20.083 回答