Java 如何使用唯一列更新行

Java 如何使用唯一列更新行,java,hibernate,Java,Hibernate,我的数据库模式具有唯一列CONSTRAINT CLASSA\u FIELD unique(FIELD)。我需要更新此表中的行,但当我调用update/flush时,我收到java.sql.BatchUpdateException:ORA-00001:违反了唯一约束(DBSCHEMA.IDX\u CLASSA\u字段)。。 我试图添加updateable=false注释,merge(entity),但两者都不起作用。如何更新此类行的任何提示?通常,当您对数据库字段具有唯一约束时,这意味着该字段中的

我的数据库模式具有唯一列
CONSTRAINT CLASSA\u FIELD unique(FIELD)
。我需要更新此表中的行,但当我调用update/flush时,我收到
java.sql.BatchUpdateException:ORA-00001:违反了唯一约束(DBSCHEMA.IDX\u CLASSA\u字段)。

我试图添加
updateable=false
注释,
merge(entity)
,但两者都不起作用。如何更新此类行的任何提示?

通常,当您对数据库字段具有唯一约束时,这意味着该字段中的值必须与该字段中跨表所有行的所有其他值唯一。因此,为了帮助回答这个问题,我建议您让我们知道您试图将字段更新为什么值。另外,“行”表示您正在尝试更新多行,可能具有相同的值。如果这是真的,那就是你的问题。

没关系,在你的评论之后,我意识到我设置了所有需要的字段,除了ID字段,所以实际上我的更新方法是保存的,因为我尝试用相同的值保存对象,该值被标记为唯一,我得到了异常。很高兴你解决了它。介意我的评论吗?不知怎的,它被设置为0。。。尽管帮助解决了这个问题。