hibernate 级联修改问题

问题描述

classUser{intuid;Stringname;Cardcard;...}classCard{intcid;StringcardNo;Useruser;}<classname="User"table="User"><idname="uid"column="uid"><generatorclass="foreign"><paramname="property">card</param></generator></id><propertyname="name"></property><one-to-onename="card"constrained="true"cascade="all"></one-to-one></class><classname="Card"table="Card"catalog="ssh"><idname="cid"><generatorclass="assigned"></generator></id><propertyname="cardNo"></property><one-to-onename="user"cascade="all"></one-to-one></class>我想修改Card中的cid同时影响到User中的uid的修改但是这样会报错:org.hibernate.HibernateException:identifierofaninstanceofCardwasalteredfrom1to2请问要实现我的目的应该怎么做才行。。。

解决方案

解决方案二:
改成one-to-many
解决方案三:
什么地方改成one-to-many哦还要加set吗?能不能说得具体点谢谢。。。。
解决方案四:
显然cid与uid的关系不是一对一的关系,建议楼主改成1楼方式试试
解决方案五:
one-to-one改one-to-many
解决方案六:
我是想让uid跟cid一对一对应uid跟cid值是一样的cid改了后uid也跟着改该怎么办呢。。。
解决方案七:
把配置文件改成这样试一试,然后在生成一下表看看行不,因为你的那个配置文件上的关系是user表上的uid是参照card表上的cid的,也就是说只有cid改了的话,uid才会跟着改,反过来则不行。<classname="User"table="User"><idname="uid"column="uid"><generatorclass="assign"/></id><propertyname="name"></property><one-to-onename="card"cascade="all"></one-to-one></class><classname="Card"table="Card"catalog="ssh"><idname="cid"><generatorclass="foreign"><paramname="property">user</param></generator></id><propertyname="cardNo"></property><one-to-onename="user"constrained="true"cascade="all"></one-to-one></class>
解决方案八:
谢谢哦我的目的就是改ciduid也会跟着改但是像我这样配置一改cid就出错:org.hibernate.HibernateException:identifierofaninstanceofCardwasalteredfrom1to2
解决方案九:
,先不说其他的,类就有问题:classUser{Longuid;//一定成LongStringname;Cardcard;...}classCard{Longcid;//一定要成LongStringcardNo;Useruser;}

解决方案十:
楼主,拿不能把你的需求说清楚:比如主外键?
解决方案十一:
就是你想让生成的表中有什么字段?
解决方案十二:
uid是主键跟外键cid是主键
解决方案十三:
按楼主的意思是唯一外键吧,这样试试<classname="User"table="User"><idname="uid"column="uid"><generatorclass="assign"/></id><propertyname="name"></property><one-to-oneproperty-ref="user"name="card"cascade="all"></one-to-one></class><classname="Card"table="Card"catalog="ssh"><idname="cid"><generatorclass="foreign"><paramname="property">user</param></generator></id><propertyname="cardNo"></property><one-to-oneunique="true"name="user"cascade="all"></one-to-one></class>

时间: 2024-08-26 05:25:12

hibernate 级联修改问题的相关文章

hibernate 级联查询

hibernate级联查询 1,实体类结构 Java代码   @Entity   @Table(name = "t_vote")   public class Vote {       private int id;       /***       * 1:最宜居<br>       * 2:最优户<br>       * 3:最佳物业       */       private int type;       private HouseBuilding h

pring-java hibernate级联保存

问题描述 java hibernate级联保存 我用的是级联保存,已保存就报这样的错,实体类user从数据库中查出来的,求大神解决 解决方案 http://blog.csdn.net/huangbiao86/article/details/6581014 解决方案二: 应该先保存many的一方,才能保存one的一方

hibernate 级联删除问题

问题描述 小女子大问题====hibernate级联删除问题====现有相册(Album)和照片2个表(Photo)我想在删除相册的同时删除相册里所有的照片两个表的实体和映射如下publicclassAlbumimplementsSerializable{privateintid;privateStringname;//名称privateStringdescription;//描述privateStringpwd;//密码privateAlbumStatealbumState;//状态多对一单向

hibernate 级联删除

问题描述 struts+spring+hibernate级联删除 解决方案 解决方案二:这个是级联删除的<classname="Address">从表</class><classname="Person"casecade="all">主表</class>解决方案三:<classname="Xxxx"/><!--从表--><classname=&quo

hibernate级联删除时无法删除,一对多双向关联,一是Consult 多是TbFiles

问题描述 hibernate级联删除时无法删除,一对多双向关联,一是Consult 多是TbFiles 一的配置: 多的配置: class="com.project.dto.Consult" fetch="select" cascade="all"> 执行代码: public void delConsult(String[] ids){ HibernateTemplate hTemplate=this.getHibernateTemplat

用hibernate在修改一条数据时没有覆盖旧的记录,反而添加了一条新纪录,怎么回事?

问题描述 用hibernate在修改一条数据时没有覆盖旧的记录,反而添加了一条新纪录,怎么回事? 我用的是mysql的数据库, jsp <%@ page language="java" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML> <div class="fo

hibernate级联,删除一方不删除多方,只是把多方的外键置空,请问怎样设置

问题描述 hibernate级联,删除一方不删除多方,只是把多方的外键置空,请问怎样设置问题补充:也就是说这个问题在级联关系中没有对应,需要在删除一方前手动清空多方的外键对应么 解决方案 对头,就是这个意思的解决方案二:可以通过hibernate的回调,用sql语句直接删除来解决你的问题关于回调可以参考这个http://aidiyuxin.iteye.com/blog/224850

求牛人帮忙解决hibernate级联问题

问题描述 代码如下;我有一个主题的实体ThemeBean.javaimportjava.io.Serializable;importjava.util.Date;importjava.util.Set;importjava.util.TreeSet;importjavax.persistence.CascadeType;importjavax.persistence.Column;importjavax.persistence.Entity;importjavax.persistence.Gen

hibernate级联删除操作失败

问题描述 对hibernate刚入手,不得其精华配置文件如下主表<class name="PrototypeOversea" table="T_MT_PROTOTYPEOVERSEA"><id name="sid" type="java.lang.Integer"><column name="SID" precision="10" scale="0