Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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
Spring约束错误仅在提交时发生_Spring_Transactions - Fatal编程技术网

Spring约束错误仅在提交时发生

Spring约束错误仅在提交时发生,spring,transactions,Spring,Transactions,我在服务层使用spring事务注释。 每当抛出唯一约束异常时,实际异常仅在事务提交期间发生,而不是在执行entity.save时发生 因此,我无法捕获异常并抛出自定义异常以获得唯一约束(我不想使用spring异常转换器功能,因为我需要在异常中设置其他数据) 如果有人遇到过这个问题,请告诉我 谢谢这在我看来是正常的行为。 只有在针对数据库运行事务时,才能检测到唯一约束。当您执行enity.save()时,您正在使用的ORM(hibernate?)只能在内存中具有相同唯一约束的其他对象时检测唯一约束

我在服务层使用spring事务注释。 每当抛出唯一约束异常时,实际异常仅在事务提交期间发生,而不是在执行entity.save时发生

因此,我无法捕获异常并抛出自定义异常以获得唯一约束(我不想使用spring异常转换器功能,因为我需要在异常中设置其他数据)

如果有人遇到过这个问题,请告诉我


谢谢

这在我看来是正常的行为。 只有在针对数据库运行事务时,才能检测到唯一约束。当您执行enity.save()时,您正在使用的ORM(hibernate?)只能在内存中具有相同唯一约束的其他对象时检测唯一约束

下面的帖子似乎和你的问题很相关

希望这有帮助

让我知道,如果有人遇到过这个问题,我也遇到过这个问题。