如何在Spring中捕获重复的列值异常

时间:2012-01-11 19:16:59

标签: spring exception-handling

我使用Spring为我的数据库编写了DAO图层和服务层。

在某些表中,我们对某些列有唯一的约束。如果我们尝试为这些列插入重复值,我们如何根据列名特别捕获这些异常?基本上我需要知道哪一列导致查询失败。

1 个答案:

答案 0 :(得分:1)

违反唯一键的DAO操作将抛出DataIntegrityViolationException。但是,您不能轻易地从中提取特定的列名称,它只是不那么详细。

如果您需要此信息,则应在运行插入/更新之前考虑查询数据库,检查是否不会违反约束。如果检查失败,那么您就有了自己的信息。