2013-02-25 58 views
0

我上保存按钮,当我试图点击保存到数据库中插入数据得到错误。 我不知道哪个库是缺少....我仍然囊括了所有的弹簧和Hibernate持久性库。 任何人都可以请帮我....并用SpringMVC 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 

回答

1

这不是一个缺少库。这是一个版本不匹配。看来,你的JPA的API版本与你的Hibernate版本不兼容。

javax.persistence.PersistenceJava EE 5Java EE 6之间的快速比较清楚地表明,在6添加了getPersistenceUtil()方法。如果你坚持在Java EE 5的服务器/库,那么你就必须使用Hibernate的相应版本或者任何Hibernate jar正在寻找这种方法。它似乎是从hibernate-validator中出来的。

+0

我正在使用hibernate-jpa-2.0-api-1.0.0.Final.jar和休眠版本是3.3.2.GA,然后在那里不匹配 – yasar 2013-02-25 05:01:33

+0

我会检查你的类路径并找到任何其他的'javax.persistence.Persistence '可干扰类,因为休眠-JPA-2.0-API-1.0.0.Final.jar [似乎有方法](http://grepcode.com/file/repository.jboss.org/nexus/content/库/发行/ org.hibernate.javax.persistence /休眠-JPA-2.0-API/1.0.0.Final /使用javax /持久/ Persistence.java?AV = F),你的错误说缺少。 – 2013-02-25 05:28:40

+0

嗯,我想还有一点可能,你有一些疯狂的类加载进行,你有两个版本的'PersistenceUtil'被加载,这也会导致错误。 – 2013-02-25 05:30:26