在数据模型中更新和插入新行时出现org.hibernate.exception.ConstraintViolationException

时间:2019-05-27 10:44:34

标签: oracle hibernate hibernate-mapping

我的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

任何人都可以提出一些建议。

0 个答案:

没有答案