Java springMvc和hibernate持久性
当我试图单击“保存”在数据库中插入数据时,“保存”按钮出错。 我不知道少了哪个图书馆。。。。我仍然包括了所有的spring和hibernate持久性库。 任何人都可以帮助我Java springMvc和hibernate持久性,java,hibernate,jpa,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.NestedSer
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版本不兼容
快速比较和之间的
javax.persistence.persistence
,可以清楚地看出getPersistenceUtil()
方法是在6中添加的。如果您一直使用JavaEE5服务器/库,那么您必须使用适当版本的Hibernate或HibernateJAR寻找的任何方法。它似乎来自hibernate验证器。我使用的是hibernate-jpa-2.0-api-1.0.0.Final.jar,hibernate版本是3.3.2.GA,如果不匹配,我会检查您的类路径,并找到任何其他可能干扰的javax.persistence.persistence
类,因为您的错误显示是hibernate-jpa-2.0-api-1.0.0.Final.jarmissing.Hmm,我想也有一点可能,您正在进行一些疯狂的类加载,并且正在加载两个版本的PersistenceUtil
,这也可以解释这个错误。我已经包括了javax.persistence\u 2.0.0,但我从类路径中删除了它,但它仍然给了我相同的错误。。。。现在包括的jar有ejb3-persistence-1.0.2.GA.jar、hibernate-validator-4.1.0.Final.jar、javax.validation-1.0.0.GA.jar。谢谢Ryan。我的问题解决了。实际上,我是因为ejb3-persistence-1.0.2.GA而被拒绝的……所以我删除了,错误消失了……非常感谢