本人在做系统的第二版开发的时候由于由于在web.xml 里面配置了org.springframework.orm.hibernate4.support.OpenSessionInViewFilter导致新增加的访问路径无法进行写入操作。
通过百度网上有也由许多人遇到相似的问题都是通过修改web.xml 对org.springframework.orm.hibernate4.support.OpenSessionInViewFilter的配,通过添加
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name> flushMode </param-name>
<param-value>AUTO </param-value>
</init-param>
按照网上提供的方法我对web.xml 进行了修改。然而还是不行。后来通过查找资料发现是spring的过滤器加session的FlushMode设置为只读,至于为什么我在web,xml 的配置无法生效依然没有明白。不过知道原因后就可以自动对sessionflushMode 进行修改。
@Transactional(readOnly = false)
public void saveDongTai(RZDongTai rz) {
Session session=this.getHibernateTemplate().getSessionFactory().getCurrentSession();
session.setFlushMode(FlushMode.AUTO);
Transaction tran=session.beginTransaction();
session.save(rz);
tran.commit();
//this.getHibernateTemplate().save(rz);
}
直接就通过。