问题描述
我正在编写一个实体类 Result,它有一个到另一个实体 UpstreamResult 的 ONETOONE 映射。 当我执行 save() 方法时。在 spring boot 并发情况下,有时,子实体被插入未更新并抛出 JdbcSQLIntegrityConstraintViolationException: Unique index or primary key conflict
父类:
@Table(name = "RESULT")
public class Result implements Serializable {
@OneToOne(cascade = CascadeType.ALL,orphanRemoval = true)
@JoinColumn(name = "UPSTREAMSIGNALTESTRESULT_ID",referencedColumnName = "uuid",unique=true)
private UpStreamTestResult upStreamSignalTestResult;
...
子类:
@Table(name = "UPSTREAMTESTRESULT")
public class UpStreamTestResult implements Serializable {
@Id
private String uuid;
@Override
public boolean equals(Object o) {
if (!(o instanceof UpStreamTestResult)) {
return false;
}
UpStreamTestResult that = (UpStreamTestResult) o;
if (this == that) {
return true;
}
return this.getUuid().equals(that.getUuid());
}
@Override
public int hashCode() {
return this.getUuid().hashCode();
}
.....
如果我运行我的应用程序一次,它就可以正常工作。但是当我运行我的应用程序 aync 和高并发时,所有实例都连接到一个数据库,它抛出上述异常。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)