hibernate更新数据问题

hibernate更新数据问题

问题描述:

现在项目中有个更新操作
public void updateApp(Trainingapproval trainingapproval,Integer i) {
Trainingapproval trainingapproval2=(Trainingapproval) this.hibernateTemplate.load(Trainingapproval.class, i);
trainingapproval2=trainingapproval;
this.hibernateTemplate.update(trainingapproval2);
}
//this.hibernateTemplate是注入好的,没问题
这样书写提示错误(The given object has a null identifier: com.coe.dto.Trainingapproval)
求解更新操作怎么实现,传入的参数为更新后的对象(封装好了,最好不改),小弟先谢谢,坐等答案~~~

参数1(Id 为null 也就是没有主键)

(Trainingapproval trainingapproval2 )引用1 = 加载1

引用1 = 参数1

update(引用1 相当于 参数1 )

那么你的这个过程与 加载1 没有关系,
也就是 你update 时候hibernate 会根据 主键 ID 进行匹配更新

而现在你的id 为null

所以应该用

记得有个方法 ,忘记了 好象是 savaOrUpdate(参数1)

或者 你把 参数1的每个属性

通过set方法 设置到 加载1 中