【问题标题】:Spring constraint error happens only on commitSpring 约束错误仅在提交时发生
【发布时间】:2013-09-30 15:59:10
【问题描述】:

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

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

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

谢谢

【问题讨论】:

  • 如果有人遇到过这个问题请告诉我我也遇到过这个问题。

标签: spring transactions


【解决方案1】:

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

以下帖子Best practise propagating Unique Violation Exceptions to UI 似乎与您的问题非常相关。

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多