我习惯于检查用户是否尝试通过捕获 ConsratinViolationException
来存储有效数据,就像这样:
try {
//persisitng to a db
}
catch (ConstraintViolationException e){
//Print message
}
我正在使用 PostgreSQL
,现在我遇到了一个问题,即 persisitng 可能会违反多个不同的约束。我如何在 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/