问题描述
开始没加this.getHibernateTemplate().flush();的时候插入不了数据,加了之后可以插入,网上搜索了下有人说是没自动提交事务,不知道是不是我spring里面的事务配置错了,帮我看看吧。public void saveUser(User user) {System.out.println(user);try {this.getHibernateTemplate().save(user);this.getHibernateTemplate().flush();} catch (DataAccessException e) {e.printStackTrace();throw e;}}这是spring里面配置的事务<tx:advice id="transactionAdvice"transaction-manager="hibernateTransactionManager"><tx:attributes><tx:method name="save*" propagation="REQUIRED" /><tx:method name="update*" propagation="REQUIRED" /><tx:method name="delete*" propagation="REQUIRED" /><tx:method name="find*" propagation="NOT_SUPPORTED"/><tx:method name="get*" propagation="NOT_SUPPORTED"/></tx:attributes></tx:advice><aop:config><aop:pointcut id="tranPointCut"expression="execution(* com.xiaolu.service.*.*(..))"/><aop:advisor advice-ref="transactionAdvice"pointcut-ref="tranPointCut" /></aop:config>
解决方案
你在hibernate.xml或者是在spring 配置文件里加上 <property name="connection.autocommit">true</property>