【java】Hibernate saveOrUpdate失效以及补救方案

有个需求是如果unique key不存在则插入,存在则更新。

简单的方式先select一下再insert 或者update,但是嫌太麻烦而且慢,所以采用Hibernate中session.saveOrUpdate()方法,结果报错,提示说duplicated key,也不知道为什么。

因为时间比较紧急就先找了个backup方案,使用了SQL里的 on duplicated key update原语,官方并不推荐使用,但是没办法先解决问题呗。使用session.createSQLQuery就可以直接写SQL语句去使用了。

后续我会跟进一下saveOrUpdate会失败的原因。

posted @ 2018-03-19 14:15  puyangsky  阅读(2592)  评论(0编辑  收藏  举报