异常org.hibernate.validator.InvalidStateException: validation failed for:

查看日志或者控制台,定位出错语句。 这种错误一般会发生在执行em.flush()操作时,往往是因为entity类上的验证注释使用不当造成的,尽量运用seam提供的framework(Home,Query)可以减少这种错误的发生,本人认为framwork灵活性不够高,远不能解决所有问题。

解决这一问题,关键是定位那个属性的注释出现了错误,java的异常机制

try {
persist(); // flush();
} catch (InvalidStateException v) {
InvalidValue[] invalid = v.getInvalidValues();
for (int i=0; i<invalid.length; ++i) {
InvalidValue bad = invalid[i];
System.out.println("===========================================");
System.out.println("insert(), " + bad.getPropertyPath() + ":" + bad.getPropertyName() + ":" + bad.getMessage());
}
throw v;
}

你可能感兴趣的:(validation)