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

Spring JPA处理唯一约束违反[重复]

郜修雅
2023-03-14

我有一个实体,比如说雇员

@Entity
public class Employee {
    @Id
    private Long id;
    private String name;
    ....
}

with字段名标记为唯一。

org.springframework.dao.DataIntegrityViolationException: could not execute batch; 
SQL......at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccess
Exception(HibernateJpaDialect.java:298)......
Caused by: org.hibernate.exception.ConstraintViolationException: could not execute batch......
Caused by: java.sql.BatchUpdateException: ORA-00001: unique constraint (SILKGATE_TEST.SYS_C00100705) violated.....

提前谢谢你

共有1个答案

邵羽
2023-03-14

可以使用unique=true。

@Entity
public class Employee {
    @Id
    private Long id;

    @Column(nullable = false, unique = true)
    private String name;
    ....
}
 类似资料:
  • 我正在使用springboot和JPA(与Hibernate一起使用)。 我们可以假设在一个实体上我有一些唯一的约束(例如,以电子邮件作为约束的用户实体)。 当我将收到一个“创建”请求时,如果资源已经存在,我必须返回已经存在的资源的主键(例如ID,而不是电子邮件)。 最好的做法是什么? 我想避免2个查询(一个检查是否存在,一个创建),这可能吗?

  • 我在创建应用程序时遇到了这个问题。因此,每当我添加第一条评论时,问题都不会出现,但当我第二次尝试时,我会收到此错误: 重复的键值违反了唯一约束“tripplanner_discussion_author_id_key”详细信息:键 (author_id)=(1) 已存在。 我试图把放到 models.py,但它根本没有帮助。 models.py views.py 更新 当我登录到另一个用户时,一个

  • 当并发客户机试图将数据插入子表时,我们面临唯一的约束冲突问题。 假设我们有1以下的表格。用户user_id、first_name、last_name。2.项目project_idproject_name和project_description。 两者都有着多对多的关系。 当两个客户端试图创建一个新用户时。假设client1创建了user1(id=aa1),子记录项目(id=1)。Client2还创

  • 这是我的stacktrace: 学生表: 学生实体:学生标识默认为自动递增 postgres控制台(这些学生由sql脚本创建): 在此处输入图像描述 我也尝试过这样生成,但这没有帮助 我用postgreql它似乎我有问题与id Generator,谢谢你的想法和答案

  • 我在django应用程序中创建了一个模型,并从pgadmin将数据填充到表中,但现在当我试图从应用程序创建记录时,它抛出了这个完整性错误: 重复的键值违反了唯一约束“packsapp_foo_pkey” 详细信息:键(id)=(4)已经存在。 这是models.py 我是否总是必须从应用程序本身插入数据? Views.py