我用来检查用户是否试图存储一个有效的数据,并输入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/