我使用Spring为我的数据库编写了DAO图层和服务层。
在某些表中,我们对某些列有唯一的约束。如果我们尝试为这些列插入重复值,我们如何根据列名特别捕获这些异常?基本上我需要知道哪一列导致查询失败。
答案 0 :(得分:1)
违反唯一键的DAO操作将抛出DataIntegrityViolationException
。但是,您不能轻易地从中提取特定的列名称,它只是不那么详细。
如果您需要此信息,则应在运行插入/更新之前考虑查询数据库,检查是否不会违反约束。如果检查失败,那么您就有了自己的信息。