本人在做系統的第二版開發的時候由於由於在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);
}
直接就通過。