我的oracle数据库中具有以下结构:
DO1:
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "DO1")
private Set<DO2> do2Set;
DO2对DO1的引用如下:
@JsonBackReference("name")
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "key", referencedColumnName = "key")
private DO1 do1;
两个DO的主键是自动生成的序列:
@SequenceGenerator(name="SEQ",sequenceName="QTY_SEQ", allocationSize = 500)
在我们的用例中,我们通过复制当前行并修改现有行来向DO2添加新行。我们所做的是克隆了POJO,然后将ID设置为Null。现在,当我们使用PUT在数据库中更新此代码时,会出现以下错误:
"org.hibernate.exception.ConstraintViolationException: could not execute statement", "embeddedExceptions": [{"message": "org.hibernate.exception.ConstraintViolationException: could not execute statement" }]}"
Error Msg = ORA-00001: unique constraint () violated\n\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498)\n\t... 50 more\n
任何人都可以提出一些建议。