提取导致ConstraintViolationException的字段名称

时间:2013-07-26 14:33:26

标签: hibernate hibernateexception

如何获得导致org.hibernate.exception.ConstraintViolationException字段名称? 检查唯一约束的唯一可靠方法是事务提交,因此即使我在抛出异常之前检查它也是如此。因此,我需要与用户字段进行沟通,从而导致存储问题 详细消息或多或少是技术性的,用户不能接受。它还取决于数据库驱动程序:( IMO 字段名称就足够了,我可以从对象中获得有问题的价值。我还可以准备其他信息......但字段名称

1 个答案:

答案 0 :(得分:3)

你不能得到异常,而消息是这样的:

 try{
        t.commit();
    }catch (ConstraintViolationException e) {
        e.getCause().getMessage();//
    }

会给你这样的结果[SQL0407] Null values not allowed in column or variable GROUP00002.最后一个单词是你的列名,然后你可以翻译它以匹配你的字段(可能使用静态HashMap)。