spring HibernateTemplate.save() 方法的自动提交问题

Posted cnblogs_2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring HibernateTemplate.save() 方法的自动提交问题相关的知识,希望对你有一定的参考价值。

如题:

    service1:

           dao1.save(obj);   //失败,应该给spring捕获,但没有,程序继续执行下去了。

           redisService.fun1();  //被执行

    service2:

           dao1.update(obj);   //失败,错误给spring捕获,抛出异常,程序终止。

           redisService.fun1();

经过查找相关资料,确认是因为数据库表主键的问题
        <id name="id" type="java.lang.String">
            <column name="id" length="20" />
            <generator class="assigned" />
        </id>
当class="assigned"时使用getHibernateTemplate().save()是不能插入数据到数据库。
hibernate.xml配置文件里加上如下属性

hibernate.connection.autocommit=true
或者如下:
<property name="connection.autocommit">true </property>








以上是关于spring HibernateTemplate.save() 方法的自动提交问题的主要内容,如果未能解决你的问题,请参考以下文章

Spring学习6_Spring整合HibernateTemplate应用

HibernateTemplate和HibernateDaoSupport(spring注入问题)

细谈Spring深入源码分析Spring之HibernateTemplate 和HibernateDaoSupport

Spring中使用JdbcTemplate和HibernateTemplate的数据库操作

spring中使用HibernateTemplate或HibernateDaoSupport报类型转换错误

spring HibernateTemplate.save() 方法的自动提交问题