action forward的时候的hibernate缓存问题

        今天在项目中发现在增删改操作后,直接调用了action的取值方法,即是forward跳转而非redirect,hibernate的

session管理是OpenSessionInView式的,对*.action拦截,那么这样,就是用的同一个hibernate session,假如此

时刚好要获取刚才添加或者更改后的对象(通过id取),那么就会从同一个session的缓存中命中此对象,修改后的数据并

不会体现出来,导致页面数据出现不一致的状况。后来用getSession().evict(obj)清除了此对象,再通过id取,则直接去

查询了数据库,呵呵,看来有时小问题会造成大错啊。

相关推荐