java - springMvc 和 hibernate 持久化

标签 java hibernate jpa

当我尝试单击“保存”以将数据插入数据库时​​,“保存”按钮出现错误。 我不知道缺少哪个库......我仍然包含了所有 spring 和 hibernate 持久性库。 任何人都可以帮助我......

HTTP Status 500 - 

The server encountered an internal error () that prevented it from fulfilling this request.

exception:

org.springframework.web.util.NestedServletException: Handler processing failed; nested     exception is java.lang.NoSuchMethodError:     javax.persistence.Persistence.getPersistenceUtil()Ljavax/persistence/PersistenceUtil;
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:839)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause 

java.lang.NoSuchMethodError: javax.persistence.Persistence.getPersistenceUtil()Ljavax/persistence/PersistenceUtil;
org.hibernate.validator.engine.resolver.JPATraversableResolver.isReachable(JPATraversableResolver.java:62)
org.hibernate.validator.engine.resolver.DefaultTraversableResolver.isReachable(DefaultTraversableResolver.java:94)
org.hibernate.validator.engine.resolver.SingleThreadCachedTraversableResolver.isReachable(SingleThreadCachedTraversableResolver.java:47)
org.hibernate.validator.engine.ValidatorImpl.isValidationRequired(ValidatorImpl.java:757)
org.hibernate.validator.engine.ValidatorImpl.validateConstraint(ValidatorImpl.java:324)
org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForRedefinedDefaultGroup(ValidatorImpl.java:273)
org.hibernate.validator.engine.ValidatorImpl.validateConstraintsForCurrentGroup(ValidatorImpl.java:256)
org.hibernate.validator.engine.ValidatorImpl.validateInContext(ValidatorImpl.java:210)
org.hibernate.validator.engine.ValidatorImpl.validate(ValidatorImpl.java:119)
org.springframework.validation.beanvalidation.SpringValidatorAdapter.validate(SpringValidatorAdapter.java:86)
org.springframework.validation.DataBinder.validate(DataBinder.java:692)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doBind(HandlerMethodInvoker.java:807)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.resolveHandlerArguments(HandlerMethodInvoker.java:359)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:171)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.

Apache Tomcat/6.0.20

最佳答案

这不是一个缺失的库。这是版本不匹配。您的 JPA api 版本似乎与您的 Hibernate 版本不兼容。

Java EE 5 之间 javax.persistence.Persistence 的快速比较和 Java EE 6清楚地表明 getPersistenceUtil() 方法是在 6 中添加的。如果您受困于 Java EE 5 服务器/库,那么您必须使用适当版本的 Hibernate 或任何 Hibernate jar正在寻找那个方法。它似乎来自 hibernate-validator。

关于java - springMvc 和 hibernate 持久化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15060300/

相关文章:

java - bean 类 [java.lang.Class] SpringMVC + Hibernate 的属性 'id' 无效

java - 创建 session 时 hibernate 错误

java - 在 JSF 项目中引用 JPA 项目

java - Hibernate 双向一对多与复合键

java - 为什么java.nio.SocketChannel不发送数据(Jdiameter)?

hibernate - 使用 updatable=false 更新实体将字段设置为 null

java - Liferay 的文档库可供多个用户使用,每个用户都有私有(private)存储库/文件夹/文件

java - JPA [Eclipselink] - 如何刷新创建的动态实体的元数据?

Java - 在当前时间和 future 设定时间之间创建一个时间间隔(15 分钟)数组

java - 从另一个 Activity 中单击按钮时从 Activity 中删除 ListView 项目