为什么会出现“唯一索引或主键冲突”?

时间:2019-06-09 23:19:01

标签: java database hibernate

所以我正在执行引导程序,当它到达save子句时会引发异常

org.h2.jdbc.JdbcSQLIntegrityConstraintViolationException:唯一索引或主键冲突:“ PUBLIC.PRIMARY_KEY_4 ON PUBLIC.SYSTEMUSER(THEUSERNAME)值1”; SQL语句: 插入SystemUser(活动,createdOn,deactivatedOn,电子邮件,firstName,lastName,pass,roles_pk,version,theUsername)值(?,?,?,?,?,?,?,?,?,?)[23505-199] ]

我尝试在事务上下文中进行手动交易,以避免锁定和合并,但仍然无法正常工作。

我认为可能是映射中的某些内容。这是我的课:

@Entity
public class RiskAnalyst implements AggregateRoot<Username> {

    @EmbeddedId
    private Username idCode;


    @OneToOne(cascade = CascadeType.ALL, orphanRemoval = true)
    @JoinColumn(name = "theusername", referencedColumnName = "theusername", insertable = false, updatable = false)
    private SystemUser systemUser;

    @OneToMany
    private List<RiskAssessmentCase> assignedCases;

    public RiskAnalyst(SystemUser user) {
        if (user == null) {
            throw new IllegalArgumentException("Not enough data to create RiskAnalyst");
        }
        this.systemUser = user;
        this.idCode = systemUser.username();
        this.assignedCases = new ArrayList<>();
    }

    protected RiskAnalyst() {
        //For ORM only
    }

0 个答案:

没有答案