所以我正在执行引导程序,当它到达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
}