hibernate级联保存问题

今天的遇到一个问题,搞了半天。做个记录

hibernate级联保存,设置了cascade关系,但新增时总是主表insert,从表update。以下为报错信息:

Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1

网上的解释是id冲突导致的,即数据库中定义了id自增,而类被插入时也被赋予了id。

解决办法:将数据库id自增去掉,重新生成类文件,选择id自增策略选择increment,也就是通过hibernate生成id。

参考:http://blog.csdn.net/ssyan/article/details/7471343

时间: 2024-11-05 14:59:24

hibernate级联保存问题的相关文章

hibernate级联保存,更新个人遇到的问题

在级联更新的时候,数据库中的数据是增加的,只是外键不存在,导致这样的问题产生的原因是,字表主键ID没有添加到集合中,导致Hibernate找不到子项而执行更新. hibernate级联保存,更新个人遇到的问题,布布扣,bubuko.com

再谈Hibernate级联删除——JPA下的Hibernate实现一对多级联删除CascadeType.DELETE_ORPHAN

声明: 1.本文系原创,非抄袭或转载过来的. 2.本文论点都亲手做过实验论证. 3.本文所讲的Hibernate配置都基于注解的方式,hbm语法未提供. 非常多人对持久层概念搞不清JPA.Hibernate.EJB3.0的关系,这里做一下简单的说明:JPA是一个持久层设计接口,EJB3.0和Hibernate是详细的实现类,EJB3.0和Hibernate的功能近似相等的(Hibernate没有Session Bean,Spring MVC3的SessionAttribute跟Session B

Hibernate 级联之OneToMany

首先看看表结构! customer表: create table customers (     ID bigint not null    primary key auto_increment,     userName varchar(20) ); Order表: create table orders (     ID bigint not null primary key auto_increment,     customers_ID bigint,    --应该为customers

级联保存

可以主表级联多表,也可以多表级联主表,原理是一样的,主要的就是xml的配置上面: cascade="save-update"要加上 主表的xml: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE hibernate-mapping PUBLIC 3 "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 4 "

hibernate级联操作

在关系中加入如下代码分别表示不同的级联操作 例如: <many-to-one name="inv" column="igid" class="entity.inventory" cascade="delete"></many-to-one> 1.级联保存 cascade=”save-update” 2.级联删除 cascade=”delete” 3.所有级联 cascade=”all 4.不使用级联 c

Hibernate各保存方法之间的差 (save,persist,update,saveOrUpdte,merge,flush,lock)等一下

hibernate保存 hibernate要保存的目的是提供一个方法,多.它们之间有许多不同之处,点击此处详细说明.使得差: 一.预赛: 在所有.阐释.供hibernate,,transient.persistent.detached 下边是常见的翻译办法: transient:瞬态或者自由态 persistent:持久化状态 detached:脱管状态或者游离态 脱管状态的实例能够通过调用save().persist()或者saveOrUpdate()方法进行持久化. 持久化实例能够通过调用

【JPA 级联保存/级联删除】@OneToMany (双向) 一对多【转】

[http://blog.sina.com.cn/s/blog_625d79410101dbdd.html] 看过前两篇帮助文档 [JPA] @OneToOne 单向 和 [JPA]@OneToOne 双向 想必大家对级联操作已经充满了好奇和期待吧.那么本文将会想大家介绍JPA的级联保存操作.在此之前,我希望你能先看下这篇文档,对级联注释的各个属性有一个大概的了解.传送门:[JPA] 级联标签的解释 @Cascade 在生活中,有许多关系都是一对多的.School(学校)和 Studnet(学生

采用struts2+hibernate实现保存文件到Oracle数据库&amp;&amp;并附下载代码【导入即可用】;数据库中保存blob类型的二进制文件

原文:采用struts2+hibernate实现保存文件到Oracle数据库&&并附下载代码[导入即可用]:数据库中保存blob类型的二进制文件 源代码下载地址:http://www.zuidaima.com/share/1550463402478592.htm

精通Hibernate——级联操纵对象

当我们加载一个类时session会加载所有和该类直接关联或者间接关联的对象. 在对象关系映射文件中,用于映射持久化类之间关联关系的元素,如.和元素,都有一个cascade属性,他用于指定如何操纵与当前关联的对象,他的可选属性如下: none:在保存.更新或删除对象时,忽略其他关联的对象,他是cascade默认属性 save-update:当通过session的save.update以及saveOrUpdate方法来保存或更新当前对象时,级联保存所有关联的新建的临时对象,并且级联更新所有关联的游离