我用来检查用户是否试图存储一个有效的数据,并输入ConsratinViolationException,如下所示:

try {
    //persisitng to a db
}
catch (ConstraintViolationException e){
    //Print message
}

我用的是PostgreSQL,现在我被起诉说,拖延可以侵犯不止一个不同的警官。在catch子句中,我如何分辨到底违反了什么约束?
我需要这样做,因为程序将根据这一点打印消息。

最佳答案

像下面这样的东西

catch (ConstraintViolationException conEx) {
            if (conEx.getConstraintName().contains("xyz_fK")) {
                //TODO Project Entity is violating it's constrain
            }
            LOGGER.Info( "My log message", conEx.getConstraintName());
            LOGGER.ERROR( "My log message", conEx);

关于java - 如何检查违反了什么约束?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30841763/

10-09 00:03