2013-02-25 71 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