HibernateTemplate().save()方法插入不了数据;

问题描述

开始没加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>

时间: 2024-09-19 07:38:56

HibernateTemplate().save()方法插入不了数据;的相关文章

CrudRepository多次使用save方法如何让它们在同一个事务当中

问题描述 CrudRepository多次使用save方法如何让它们在同一个事务当中 像这个多次调用save方法 ,当系统出现错误的时候我前面执行的save方法并没有发生数据回滚 ,我查了一下底层代码里的save头上有一个@Transactional 注解 ,是不是我每次调用save都是一个新的事务呀,那我在service上写的@Transactional岂不是没有起作用,因为有一个aop是作用在save方法上的,有什么方法可以让多个save在一个事务下吗

【hibernate 执行方法未插入数据库】hibernate的save方法成功执行,但是未插入到数据库

  今天做项目,碰上这个问题: hibernate的save方法成功执行,但是未插入到数据库. Dao层代码: 1 @Override 2 public void save(T t) { 3 this.getSession().save(t); 4 } View Code Service层的代码: 1 @Override 2 public void save(T t) { 3 // TODO Auto-generated method stub 4 dao.save(t); 5 } View C

插入多条数据回滚-hibernate 手动控制事务回滚失败

问题描述 hibernate 手动控制事务回滚失败 spring配置: 5201005100 <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource" />

使用this.hibernateTemplate.save(c);报不能将值 NULL 插入列 &amp;#039;OrdeID&amp;#039;

问题描述 DAO:public void add(Order c) { System.out.println(c.getOrdeID()); //有值输出 this.hibernateTemplate.save(c);}SQL:create table _Order( OrdeID char(12) primary key not null, ProductCode char(12) not null, Quantity int not null, BusinessName varchar(10

自己动手写ASP.NET ORM框架(七):实现新增功能Save方法

在上一篇中讲了根据ID查询的功能FindById方法,接下来将实现Save方法的功能,代码如 下1-1: #region 将实体数据保存到数据库 public int Save<T>(T entity) { //从实体类中获取新增数据所需的表信息存于TableInfo对象中 TableInfo tableInfo = DbEntityUtils.GetTableInfo (entity,DbOperateType.INSERT); //根据tableInfo对象中的数据生成新增的SQL语句 s

实例讲解Java批量插入、更新数据_java

Java的批量添加数据,多个字段同时添加多条数据,我不知道你遇到过没有.今天我们就以一个具体的实例来说一下Java的批量添加数据,面向的是Oracle数据库. 前台页面: <span style="font-size:14px;"><body class="main_body" scroll="no"> <div class="employee_gun_dong"> <form nam

spring-jpa + Spring 2.5 表插入不了数据

问题描述 jpa + Spring 2.5 表插入不了数据 @Testpublic void runtest() { ApplicationContext ctx = new ClassPathXmlApplicationContext(""beans.xml""); ProductService productService = (ProductService) ctx.getBean(""productServiceImpl"&qu

Hibernate中的session的save方法。

问题描述 Hibernate中的session的save方法. 我正在学习hibernate框架,然后在做一个插入的时候遇到了一个问题.通过跟踪我发现在执行session.save(obj);方法时,程序就不动了.并且在获取session时还打印出下面红色的信息. 请问一个是什么原因以及怎么解决呢? public int insertClient(Client client) { // TODO Auto-generated method stub //HibernateUtil.closeSe

JdbcTemplate插入一条数据到Oracle数据库并返回自增长ID

问题描述 我的需求就是需要循环插入一组数据,因为数据库是按照自增长ID关联的,所以每插入一条数据,都要返回自增长的ID,用来设置关联关系,我用JdbcTemplate可以实现一组数据的插入并返回ID,但是循环两次以上就出错了:org.springframework.jdbc.UncategorizedSQLException:PreparedStatementCallback;uncategorizedSQLExceptionforSQL[insertintoT_METADATA_ABSTRAC