open session in view 不是一直保持Hibernate的session打开,而是保持它在一个request/response cycle中打开,比较常见的应用情况是在编辑页面点击保存按钮后,先执行一个保存的SERVLET,后通过FORWORD显示保存后的信息。利用过滤器让显示的内容全部读入内存后再COMMIT这个TRANSACTION,这样就可以避免在JSP里面读到某个对象的LAZY LOADING的关联对象时候出现LazyInitializationException: Session has been closed 之类的信息。 GAVIN 绝不会傻到将CONNECTION一直打开的地步。 而SPRING里提供了较简便的方法来实现这个PATTERN. 当然不用SPRING也可以实现啦 这当然是一个模式,在某些情况下很有用。虽然不是在所有情况下都适合。但每个模式都有其适合和不适合的地方吧。 banq 连自己都不清楚就来说有点太不厚道了吧