处理违反唯一约束异常
Jmix 框架中,可以自定义 异常处理器 展示的违反数据库约束的异常消息。
自定义的消息需要在 消息包 中设置,消息键值与需要以 databaseUniqueConstraintViolation
作为前缀,并拼接数据库中唯一索引的名称全大写。示例:
这样,默认的通知消息如下:

在添加了自定义消息后,可以看到下面的消息通知:

检测违反数据库约束错误是通过 UniqueConstraintViolationHandler
类完成,该类通过在责任链中所有异常的消息中搜索特殊标记字符串来确定异常类型。
当然,也可以完全替换标准的处理器,将自定义的处理器优先级调高,例如,@Order(JmixOrder.HIGHEST_PRECEDENCE - 10)
。
本页是否有帮助?
感谢您的反馈