问题描述
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>