今天在做一个Spring项目的时候,碰到了hibernateTemplate.delete()执行后数据库没有变化的情况,搜索了半天,最后解决了问题,具体原理我还没搞明白,现在就分享下我挣扎时的代码。
最开始时,dao层代码如下:
@Autowired
private HibernateTemplate hibernateTemplate;
@Override
@Transactional(readOnly=false)
public void delete(Info info) {
Info newinfo = (Info) hibernateTemplate.find(Info.class,info.getId());
hibernateTemplate.delete(newinfo);
}
<!--开启事务注解-->
<tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="false"/>
<context:component-scan base-package="com.Impl" > </context:component-scan>
<!-- Transation -->
<tx:advice id="txadvice" transaction-manager="transactionManager">
<tx:attributes>