我们知道StatelessSession
直接处理与Session不同的数据库行
我的问题是,我们可以使用StatelessSession
进行少量插入,更新以进行改进
性能
答案 0 :(得分:4)
这在很大程度上取决于你如何使用它。一般来说,缓存是为了提高性能而发明的,但“正常”休眠会话的问题在于它无法选择切换缓存。我已经编写了很多次使用Spring JDBC进行数据库访问以防止会话开销,并且性能大大提高。
如此好的书面应用程序应该使用StatelessSession大大提高性能。糟糕的书面应用程序可能会放慢速度,因为Hibernate中的强制缓存被认为是对用户无法控制其代码从DB读取内容的时间和次数的补救...
答案 1 :(得分:2)
StatelessSession
不仅仅是关闭缓存的会话;这是一种完全不同的会话,甚至不支持许多操作。因此,如果您有一段不会破坏其约束的代码,那么使用无状态会话并没有什么坏处,它可能有助于加快它的速度。
我经常使用无状态会话,因为我避免使用Hibernate进行持久状态管理,而是继续使用简单直接的HQL查询。但是,在保存新记录时,常规会话是不可避免的:Hibernate不支持带有文字数据的insert
语句。