日期:2014-05-18  浏览次数:20672 次

关于hibernate更新的问题,跪求大神!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
是这样的
我有2个表一对一外键双向关联,用户表和身份证表,用户表有个外键idcard,对应身份证表中的主键id
在用户类中有身份证类的引用,注解@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="idcard")

在身份证类中有用户类的引用,注解@OneToOne(mappedBy="idcard")

hibernate自动生成表,然后插入数据,执行下面代码是出现错误
IdCard idcard=(IdCard)sess.get(IdCard.class,"45");
idcard.setId("10");sess.update();
ts.commit();
提示identifier of an instance of bean.IdCard was altered from 45 to 10
请问怎么修改啊,感激不尽!!

------解决方案--------------------
你把那条记录拿出来,又改了一下序列id是闹哪样?
------解决方案--------------------
hbernate中id不允许修改我记得,你如果有这样的逻辑就用jdbc吧
------解决方案--------------------
放开那个id,修改别的吧