您好 我正在进行休眠,需要一些关于无状态会话的信息。试图在谷歌搜索,但没有得到那么多的信息。所以请关于如何,为什么以及何时使用它的任何关于无状态会话的链接或pdf。使用它有什么利弊。 感谢
答案 0 :(得分:19)
无论如何,关于无国籍会议没什么好说的。基本上,它仅用于一个目的:不缓存任何东西。
在常规会话中,Hibernate维护一个“会话级缓存”,例如,当您关闭会话时,它会被清除。在某些其他情况下,您可以插入缓存机制以充当“二级缓存”,这与此“会话级缓存”互补,即使在会话关闭后也可以继续存在。
但是,如果您处于批处理操作模式,则可能会出现问题。例如,如果您只是读取输入文件并在数据库中插入实体,则将任何实体保留在缓存(会话级)中是没有意义的。你知道你不再需要那个实体了。所以,这就是你使用无状态会话的地方。
API没有变化,只是实施中的变化。
看一下这个链接。这就是无状态会话需要了解的全部内容: http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/batch.html#batch-statelesssession
答案 1 :(得分:5)
本书Java Persistence with Hibernate有一个关于Hibernate中无状态会话的简短但足够的部分。如果您不想仅仅为了获取该信息而购买该书的副本,我找到了whole book on slideshare.com;第12.2.3节,第539页(slideshare.com上的第574页)。