当前位置: 首页 > 知识库问答 >
问题:

组织。springframework。刀。DataIntegrityViolationException:重复条目Spring Hibernate

路思源
2023-03-14

我添加了以下代码以将记录插入/更新到表中

public void createFacebookAccessTokenRecord(int userId, Long facebookId,
            String token, String secret) {
        Session session = getSessionFactory().getCurrentSession();
        UserAuthDetails userAuthDetails = (UserAuthDetails) session.get(
                UserAuthDetails.class, new Integer(userId));
        if (userAuthDetails != null) {
            userAuthDetails.setFacebookId(facebookId);
            userAuthDetails.setFacebookUserToken(token);
            userAuthDetails.setFacebookUserTokenSec(secret);
            session.merge(userAuthDetails);
        } else {
            userAuthDetails = new UserAuthDetails();
            userAuthDetails.setUserId(userId);
            userAuthDetails.setFacebookId(facebookId);
            userAuthDetails.setFacebookUserToken(token);
            userAuthDetails.setFacebookUserTokenSec(secret);
            userAuthDetails.setCreatedDt(new Date());
            session.save(userAuthDetails);
        }


    }

如果数据存在,它将更新表,否则将插入一个新记录,在我的情况下,数据已经存在,所以我首先更新记录,如果循环工作,但我得到

org.springframework.dao.DataIntegrityViolationException: key'umul_facebook_id_UNIQUE'的重复条目'482186425258498';SQL[n/a];约束[null];嵌套异常org.hibernate.exception.ConstraintViolationException: key'umul_facebook_id_UNIQUE'的重复条目'482186425258498'

共有1个答案

罗业
2023-03-14

您正在通过userId进行查找,有关umul_facebook_id的唯一性约束被违反,因此您还需要检查facebook id的唯一性

 类似资料:
  • 通用方法 (以下)管制员工作正常 另一个跟上面一样的控制器,但给出了一个例外 例外是 例外组织。springframework。刀。InvalidDataAccessApiUsageException:对象引用未保存的临时实例-在刷新之前保存临时实例:com。软的企业资源计划赞成的意见。模型ProPurchaseOrderModel;嵌套的异常是org。冬眠TransientObjectExcep

  • 我使用hibernate-4.1.2和spring-framework-4.1.6中的所有jar文件来尝试hibernateTemplate问题中指定的项目。我正面临一个组织。springframework。刀。InvalidDataAccessApiUsageException 上面提到的错误堆栈建议将会话的刷新模式设置为COMMIT/AUTO或从事务定义中删除“readOnly”标记。有没有办

  • 我正在实现SimpleAsyncTaskExec导师。当我插入或更新到数据库时,它会抛出以下异常org.springframework.dao.InvalidDataAccessApiUsageExc0019:执行更新/删除查询;嵌套异常是javax.persistence.Transaction要求异常:执行更新/删除查询错误。 Spring的背景。xml 错误详细信息:

  • 在IntelliJ中,我得到了错误 插件“组织”。springframework。boot:spring boot maven插件:“未找到” 对于以下代码 我无法更改代码,它正在为我的同事工作 我尝试过: 从Intelli J中的首选项,导航到“构建、执行、部署 但它没有工作,任何想法?

  • 我试图用Spring DI创建一个简单的HelloWorld应用程序。我创建了一个Java项目并导入了一些教程类,其中一个很简单: 然而,我得到了以下错误:。我正在使用Eclipse Spring Tool Suite 3.7.2,当我单击“修复项目设置”时,我认为通过使用这个Eclipse版本,它会为我添加这些依赖项。我在这里做错了什么?即使在STS中,我也需要手动添加这些依赖项吗?如果是,正确

  • 我在Android Studio整天都在和这个错误作斗争。项目是从eclipse解决方案导入的。我一直试图实现所有的修复,列出了类似的帖子,没有任何工作。我是一个Android初学者。 我很乐意提供任何进一步的信息。