我想使用Hibernate Validator 4作爲獨立包(即沒有0Spring/Hibernate)。這是我發現的代碼是以下(爲myBean一些 豆與Hibernate驗證4個註解,爲myBean是它的實例),並 它確實返回違反約束:Hibernate驗證器4獨立:類約束緩存
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();
Set<ConstraintViolation<MyBean>> result = validator.validate(myBean);
但是,我意識到,驗證實例似乎不是每班; 如果有人知道:Validator緩存處理myBean得到的約束(這樣當我再次爲同一個類調用時,例如validator.validate(myBean2), 它不會再次搜索註釋等)?如果是這樣,也許一個人也知道這些約束得到緩存的地方?
無法回答我自己的問題,所以這裏以評論的形式回答:是的,ValidatorImpl緩存字段beanMetaDataCache中的類的元數據。 –