如何找到哪个表中的哪一列导致了SQLIntegrityConstraintViolationException
?当我捕捉到这个异常时,只有message (纯文本)和SQLState
存在。但是我找不到用于生成用户友好消息的表名和列
发布于 2014-07-01 18:36:02
与所有SQLExceptions一样,细节取决于您的DB供应商。如果幸运的话,您可以解析exception.getMessage()
来获取这些信息。但是没有通用的Java端方法来解决这个问题。
发布于 2016-03-18 18:56:38
堆栈确实包含被违反的唯一键的名称。您可以将创建的键的名称与正在catch子句中查询的数据库的名称进行比较,并相应地生成错误消息。
https://stackoverflow.com/questions/24507668
复制相似问题