jOOQ:DataAccessException和约束

Kev*_*ote 5 java http unique-constraint jooq http-status-code-400

我正在使用Jersey和jOOQ实现REST API.

我有一个带有一些约束的表,例如一个唯一的键.当插入违反此约束的元组时,jOOQ会抛出DataAccessException:

org.jooq.exception.DataAccessException: SQL [insert into ...]; ERROR: duplicate key value violates unique constraint "issue_name_key"
Run Code Online (Sandbox Code Playgroud)

有没有办法找出违反了哪个约束,没有字符串解析错误消息?如果违反了约束,我想返回一个400 bad requesthttp状态代码而不是一个500 general error.

如果这是不可能的,这里的常见做法是什么?我是否应该查询数据库中每个可能的约束违规?这闻起来像一个维护陷阱.

小智 3

根据 Lukas Eder 的评论:在 jOOQ 中不可能,因为它仅依赖于 JDBC 异常。