spring出現 Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marke問題

                 本人在做系統的第二版開發的時候由於由於在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);
	}
直接就通過。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章