Session.saveOrUpdate将id增加两个

时间:2018-02-16 15:43:11

标签: java spring hibernate session

我创建了使用新id保存实体的方法或通过hibernate会话更新现有的方法。当我使用下一个代码时:

try {
        Session session = sessionWrapper.getSession();
        sessionWrapper.beginTransaction();
        if (user.getId()==null || session.get(User.class, user.getId())==null) {
            return (long) session.save(user);
        } else {
            session.get(User.class, user.getId());
            session.merge(user);
            return user.getId();
        }
    } finally {
        sessionWrapper.commit();
        sessionWrapper.closeSession();
    }

它工作正常,但是当我使用session.saveOrUpdate时,如果新实体生成的id增加了两个,而不是一个。为什么以及如何解决它?

0 个答案:

没有答案