【发布时间】:2011-06-29 01:29:42
【问题描述】:
我有一个带有 JDBC 的 Spring MVC,它使用 @Valid 注释,而且一切都很好,包括验证。
现在我创建了一个类似的 web 应用程序,它使用 Hibernate(而不是 JDBC),到目前为止它也运行良好。
在继续使用更多域等之前,我决定“加入”验证。
所以我将 @Valid 添加到 Controller 中的保存过程中:
@RequestMapping(value = "/productgroup/save", method = RequestMethod.POST)
public String updateProductGroup(**@Valid** ProductGroup productGroup, BindingResult bindingResult)
这是我所做的唯一更改,现在它崩溃了:
严重:servlet appServlet 的 Servlet.service() 抛出异常
java.lang.NoSuchMethodError: javax.persistence.Persistence.getPersistenceUtil()Ljavax/persistence/PersistenceUtil;
在 org.hibernate.validator.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:33)
在 org.hibernate.validator.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:112)
在 org.hibernate.validator.engine.resolver.SingleThreadCachedTraversableResolver.isReachable(SingleThreadCachedTraversableResolver.java:47)
在 org.hibernate.validator.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:764)
在 org.hibernate.validator.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:331)
在 org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForRedefinedDefaultGroup(ValidatorImpl.java:278)
在 org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:260)
在 org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:213)
在 org.hibernate.validator.engine.ValidatorImpl.validate(ValidatorImpl.java:119)
在 org.springframework.validation.beanvalidation.SpringValidatorAdapter.validate(SpringValidatorAdapter.java:86)
我正在使用: org.hibernate 休眠验证器 4.0.2.GA 罐 javax.验证 验证-api 1.0.0.GA
我在 ProductGroup 的 productGroupName 字段及其 Getter 上都尝试过 @NotEmpty。
有什么想法吗?
我真的没想到会出现任何问题,因为在我的 JDBC 版本中验证工作没有任何问题...
【问题讨论】:
标签: hibernate validation spring-mvc annotations