Java 尝试使用Hibernate删除和添加行时发生的唯一约束冲突
我有一个项目,它将hibernate类映射到底层表。有一个表具有复合键。我正在删除唯一的行,并在hibernate对象中添加相同的行。这两个对象都是另一个对象的一部分,我将其持久化到db中。程序抛出“唯一约束冲突”错误,这可能是因为插入发生在删除操作之前。是否有办法使用hibernate中的某些设置来解决此问题,或者我是否应该有必要的逻辑[在hibernate对象操作之外]来确保不会发生这种情况。在尝试删除之前,您应该确保对象删除被刷新到数据库中 使用相同的键创建另一个对象。但在你的情况下,最好是更换Java 尝试使用Hibernate删除和添加行时发生的唯一约束冲突,java,hibernate,Java,Hibernate,我有一个项目,它将hibernate类映射到底层表。有一个表具有复合键。我正在删除唯一的行,并在hibernate对象中添加相同的行。这两个对象都是另一个对象的一部分,我将其持久化到db中。程序抛出“唯一约束冲突”错误,这可能是因为插入发生在删除操作之前。是否有办法使用hibernate中的某些设置来解决此问题,或者我是否应该有必要的逻辑[在hibernate对象操作之外]来确保不会发生这种情况。在尝试删除之前,您应该确保对象删除被刷新到数据库中 使用相同的键创建另一个对象。但在你的情况下,最好
要用新对象移除的对象内的数据。从hibernate的角度来看,相同的PC意味着相同的对象 在尝试删除之前,应确保对象删除已刷新到数据库中 使用相同的键创建另一个对象。但在你的情况下,最好是更换
要用新对象移除的对象内的数据。从hibernate的角度来看,相同的PC意味着相同的对象 当我在过去使用Hibernate时,90%的情况下,调用insert或delete语句,甚至commit语句的顺序都没有区别。在大多数情况下,除非您自己管理事务,否则会话实际关闭事务的位置很重要
但是hibernate的一个优点是,您不应该删除具有相同键的行,您应该使用相关数据更新其对象实例,并持久化更新实例。Hibernate将处理其余的部分…当我在过去使用Hibernate时,90%的时间里,调用insert或delete语句的顺序,甚至commit都没有区别。在大多数情况下,除非您自己管理事务,否则会话实际关闭事务的位置很重要
但是hibernate的一个优点是,您不应该删除具有相同键的行,您应该使用相关数据更新其对象实例,并持久化更新实例。Hibernate将处理其余部分…请指定您的映射和实体,可能还有您的TableDefinition,因为这些可能会导致这样的错误…请指定您的映射和实体,可能还有您的TableDefinition,因为这些可能会导致这样的错误。。。