Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java hibernate中的分离对象_Java_Hibernate_Orm_Persistence - Fatal编程技术网

Java hibernate中的分离对象

Java hibernate中的分离对象,java,hibernate,orm,persistence,Java,Hibernate,Orm,Persistence,分离对象的好处是什么?它们提供了什么价值?谢谢。当您需要在不同的休眠会话之间保持对象“活动”时。示例:在web应用程序中,如果使用每请求会话模式,并且需要在多个页面之间保持相同的hibernate实体 请看一下Hibernate文档: 假设您需要执行一个长事务(用户输入需要花费时间)以及要用作表示层元素的对象。现在,您的对象需要扮演双重角色 作为分离对象(用作表示层对象) 重新附加的对象(用于完成事务) 这怎么可能? 将事务分为两个事务。一旦内部事务完成,对象将被分离,它可以在表示层中工作。演

分离对象的好处是什么?它们提供了什么价值?谢谢。

当您需要在不同的休眠会话之间保持对象“活动”时。示例:在web应用程序中,如果使用每请求会话模式,并且需要在多个页面之间保持相同的hibernate实体

请看一下Hibernate文档:


假设您需要执行一个长事务(用户输入需要花费时间)以及要用作表示层元素的对象。现在,您的对象需要扮演双重角色

  • 作为分离对象(用作表示层对象)
  • 重新附加的对象(用于完成事务)
  • 这怎么可能? 将事务分为两个事务。一旦内部事务完成,对象将被分离,它可以在表示层中工作。演示工作完成后,它将进入另一个事务,并将作为附加对象工作


    因此,由于附加了对象,这一切都是可能的。

    当需要处理长事务时,将长事务分解为两个或多个事务是合乎逻辑的。 分离的对象可用于将信息传送到UI层,并可在另一个会话的帮助下重新连接到新事务

    另一方面,在这样的场景中使用分离对象不是很明智,而DTO(数据传输对象)可以很好地实现这一目的