`
jaesonchen
  • 浏览: 300273 次
  • 来自: ...
社区版块
存档分类
最新评论

问个spring中使用hibernate的问题

阅读更多
  环境是spring 1.x + hibernate 2.x,我在service里的一个方法里先调用了 userRightDao.delete(List)删除数据库中的3条记录,然后再调用userRightDao.save(List),插入3条与刚才删除的记录一样的数据,这时候就报主键重复的错误。 但是如果我后插入的3条数据与原来数据库里的数据不一样就不会抱错,程序也能正常地先删除数据然后再插入新数据,后台打印的sql语句显示,hibernate是先insert,然后再delete。
   请教下这个是我配置的问题,还是hibernate在处理时就是先insert后delete的?


userRightDao.delete(List)里是调用 getHibernateTemplate().delete(UserRight)删除记录的,
userRightDao.save(List)里是调用 getHibernateTemplate().save(UserRight)保存记录的,

分享到:
评论
2 楼 cryolite 2006-10-11  
hibernate的问题是它的做法对初学者来说常超出你的直觉,这很讨厌
1 楼 jaesonchen 2006-10-10  
解决了,在userRightDao.delete(List)的最后加上 getSession.flush()就正常了,后台打印的sql也是先delete后insert了。
我刚学spring和hibernate,版主帮忙删了这个贴子吧,估计这个问题太初级了。

相关推荐

Global site tag (gtag.js) - Google Analytics