一般情况下,是由于dao未获取到事务进行管理。方法如下:
在dao中,将save、update、merge、delete代码加上事务,如:
原来的save:
public void save(Good transientInstance) {
log.debug("saving Good instance");
try {
getSession().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
加上事务处理:
public void save(Good transientInstance) {
log.debug("saving Good instance");
try {
Transaction tx = getSession().beginTransaction();
getSession().save(transientInstance);
tx.commit();
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}
即可!