我想使用 Hibernate Validator 4 作为一个独立的包(即没有 Spring/Hibernate)。我找到的代码如下(MyBean 是一些带有 Hibernate Validator 4 注释的 bean,myBean 是它的实例),它确实返回了约束违规:
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<MyBean>> result = validator.validate(myBean);
但是,我意识到 Validator 实例似乎不是每个类的;如果有人知道:Validator 是否缓存了它从处理 myBean 中获得的约束(这样当我再次调用同一个类时,例如 validator.validate(myBean2),它就不会再次搜索注释等)?如果是这样,也许有人也知道这些约束究竟被缓存在哪里?