У меня есть Spring MVC с JDBC, который использует аннотации @Valid, и все это работает очень хорошо, включая проверку.
Теперь я создал похожее веб-приложение, которое использует Hibernate (вместо JDBC), и до сих пор оно прекрасно работает.
Я решил проверить правильность, прежде чем продолжить работу с другими доменами и т. Д.
Итак, я добавил @ Valid к процессу сохранения в контроллере следующим образом:
@RequestMapping(value = "/productgroup/save", method = RequestMethod.POST)
public String updateProductGroup(**@Valid** ProductGroup productGroup, BindingResult bindingResult)
Это изменение only , которое я делаю, и теперь оно падает с:
SEVERE: Servlet.service() for servlet appServlet threw exception
java.lang.NoSuchMethodError: javax.persistence.Persistence.getPersistenceUtil()Ljavax/persistence/PersistenceUtil;
at org.hibernate.validator.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:33)
at org.hibernate.validator.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:112)
at org.hibernate.validator.engine.resolver.SingleThreadCachedTraversableResolver.isReachable(SingleThreadCachedTraversableResolver.java:47)
at org.hibernate.validator.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:764)
at org.hibernate.validator.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:331)
at org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForRedefinedDefaultGroup(ValidatorImpl.java:278)
at org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:260)
at org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:213)
at org.hibernate.validator.engine.ValidatorImpl.validate(ValidatorImpl.java:119)
at org.springframework.validation.beanvalidation.SpringValidatorAdapter.validate(SpringValidatorAdapter.java:86)
Я использую:
org.hibernate
Зимуют-валидатор
4.0.2.GA
яс
javax.validation
валидация-апи
1.0.0.GA
Я пробовал @NotEmpty как для поля ProductGroup productGroupName, так и для его получателя.
Есть идеи?
Я действительно никогда не ожидал каких-либо проблем здесь, так как у меня не было проблем с получением проверки для работы в моей версии JDBC ...