hibernate呼叫sessionFactory.getCurrentSession().save(entity);資料無法插入到資料庫
阿新 • • 發佈:2019-01-25
今天在學習使用hibernate4,在呼叫sessionFactory.getCurrentSession().save(entity);進行儲存操作時,方法執行成功,但是資料沒有插入到資料庫,控制檯也不報錯,在網上各種查詢解決方法之後找到思路,這個問題是跟flushMode的屬性有關,為什麼會這樣呢?因為我在dispatcher-servlet.xml和spring-hibernate.xml中都是配置的
<context:component-scan base-package="com.test">
後來把dispatcher-servlet.xml中改為 <context:component-scan base-package="com.orange">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
</context:component-scan>
spring-hibernate.xml中改為<context:component-scan base-package="com.orange"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan>
重新執行專案,資料能夠insert到資料庫中了。記得web.xml裡配置
我是個小菜鳥,只是把我的問題記錄在這兒了,大家不喜勿噴。<filter> <filter-name>OpenSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class> <init-param> <param-name>flushMode</param-name> <param-value>AUTO</param-value> </init-param> </filter> <filter-mapping> <filter-name>OpenSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>