郁闷的异常问题,使用hibernate3在测试添加编辑方法时
public void save(T t) {
Session session = getSession();
Transaction tx = beginTransaction(session);
try{
session.update(t);
tx.commit();
}catch(Exception e){
tx.rollback();
log.error("保存对象失败");
}
}
竟然保存不了对象没办法更新操作,也不知道是怎么回事,直到改成如下:
public void save(T t) {
Session session = getSession();
Transaction tx = beginTransaction(session);
try{
session.merge(t);
tx.commit();
}catch(Exception e){
tx.rollback();
log.error("保存对象失败");
}
}
才测试通过。添加编辑都用这个方法可以测试通过。可是不太清楚具体怎么回事?查资料网上说:
Hibernate save 在 session 中已存在相同 groupId(主键) 的对象,会出现异常
本文记录了在使用Hibernate3进行对象更新时遇到的问题,并分享了解决方案。作者最初使用save方法更新对象时失败,后改用merge方法成功解决问题。文章探讨了save与merge方法的区别。
672

被折叠的 条评论
为什么被折叠?



