环境是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)保存记录的,