小编sta*_*tan的帖子

如何指定异常约束

我有一个 Spring 应用程序,并向我的用户实体添加了用户名和电子邮件的唯一约束。因此,用户无法使用相同的用户名或电子邮件创建多个帐户。当有人使用已存在的用户名创建新用户时,我的应用程序会抛出 ConstraintViolationException

我的异常详细信息:

org.postgresql.util.PSQLException:错误:重复的键值违反唯一约束“ukdfui7gxngrgwn9ewee3ogtgym”详细信息:键(用户名)=(dev123)已存在。

我的用户实体:

@Table(name = "usr", uniqueConstraints={
@UniqueConstraint(columnNames ={"username"}),
@UniqueConstraint(columnNames={"email"})})
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator="usr_seq")
    @SequenceGenerator(name = "usr_seq", sequenceName = "usr_seq", initialValue = 1, allocationSize=1)
    @Column(name="id")
    private Long id;

    @Column(name = "username")
    private String username;

    @Column(name = "password")
    private String password;

    @Column(name = "first_name")
    private String firstName;

    @Column(name = "last_name")
    private String lastName;

    @Column(name = "role")
    private Role role;

    @Column(name = "email")
    private String email;

    @Column(name = "status")
    private Status status;

// …
Run Code Online (Sandbox Code Playgroud)

java postgresql spring hibernate exception

5
推荐指数
1
解决办法
731
查看次数

标签 统计

exception ×1

hibernate ×1

java ×1

postgresql ×1

spring ×1