sppring-servlet.xml
application-core.xml
事务不能回滚 执行save(user)的时候创建了一个sqlsession 然后就关闭了 再执行save(role)的时候有创建了一个sqlsession
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@1a79faa]
这边的问题很严重了 我寻思着是不是配置出现问题了 我就把applica-core.xml 里面的事务给注释掉了 结果问题来了 居然还是给插入用户表的数据提交上去了
<!-- <bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:annotation-driven transaction-manager="txManager" proxy-target-class="true"/> -->
<!-- 声明式事物管理 --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!-- 以find开头的方法不需要开启事物,且session是readOnly的 --> <tx:method name="find*" read-only="true" propagation="NOT_SUPPORTED"/> <!-- 其余方法采用默认配置 --> <tx:method name="*" /> </tx:attributes> </tx:advice> <aop:config> <!-- 在service层上开始管理事物 --> <aop:pointcut id="operation" expression="execution(public * com.service.impl.*.*(..))" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="operation" /> </aop:config>
你没有进行声明式事务管理,配置aop和advice