发现一个问题,我用Hibernate操作数据库的时候发现个问题,我修改的步骤是先按传递过来的主键值查询出一个对象,将要修改的值放入对象后,update(Object)修改对象;但是现在出现个问题,我想修改主键修改不了。比如我有10条记录,我获取id=10的记录后,修改id属性为11,则修改操作执行了,但是数据没有任何变化因为没有id=11的记录,如果我把id改成9则第9条记录被修改了。很明显hibernate修改数据的时候是根据对象主键的值去修改其他值,而主键的值不变。但是我想修改主键值,请问我应该如何做???
把DAO层的update方法写出来就行,我怎么执行上边的语句?
Query query=this.session.createQuery(hql);
query.setInteger(0,id);
query.executeUpdate();
this.session.beginTransaction().commit();