Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试使用Hibernate删除和添加行时发生的唯一约束冲突_Java_Hibernate - Fatal编程技术网

Java 尝试使用Hibernate删除和添加行时发生的唯一约束冲突

Java 尝试使用Hibernate删除和添加行时发生的唯一约束冲突,java,hibernate,Java,Hibernate,我有一个项目,它将hibernate类映射到底层表。有一个表具有复合键。我正在删除唯一的行,并在hibernate对象中添加相同的行。这两个对象都是另一个对象的一部分,我将其持久化到db中。程序抛出“唯一约束冲突”错误,这可能是因为插入发生在删除操作之前。是否有办法使用hibernate中的某些设置来解决此问题,或者我是否应该有必要的逻辑[在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,因为这些可能会导致这样的错误。。。