2

有人可以向我解释在 Web 应用程序的上下文中使用分离对象有什么好处吗?AFAIK 它们仅在对象以某种方式超出事务的“词汇”范围时才有用,但通常在 Web 应用程序中,当您的事务结束时,您只需将对象发送到视图层,它们不会被重新附加。

据我所知,分离对象仅在您稍后要合并/重新附加它时才有用,而且我看不到与仅将对象直接更新到数据库相比的优势。

任何示例代码表示赞赏。

编辑:为了澄清起见,我试图了解分离对象与瞬态对象的优势(例如,用于数据库但以后无法重新附加的对象)。

4

2 回答 2

1

分离的对象也可能保存其版本号(如果您有版本控制列)。例如,如果您采用实体编辑器的方法,加载实体并将其存储在 http-session(或其他寿命较长的存储)中,然后在以后的交互中更新它并将其合并回不同的会话,然后 Hibernate 可以自动检查该实体(或合并对象图中的其他实体)没有被同时修改。

于 2009-05-20T17:37:10.747 回答
0

假设您有一个包含几十个下拉列表的页面,这些下拉列表是从各个表的行中填充的。您不希望每次呈现页面时都必须往返于数据库,因此您可以获取对象列表、分离它们并将它们存储在某个地方。只要您注意避免引用可能延迟加载的属性,就可以了。

于 2009-05-20T17:24:20.553 回答