2011-01-12 96 views
1

我正在尋找這樣的版本,但不能在網上找到Hibernate的發佈歷史。哪個版本的Hibernate是獨立的(不需要JPA實現)?

我在寫作時使用了最新版本的Hibernate,3.6.0Final。但是,當我跑我的應用程序我得到一個異常:

java.lang.ExceptionInInitializerError 
    com.st.wma.datalayer.hibernate.util.HibernateUtil.<clinit>(HibernateUtil.java:19) 
    com.st.wma.datalayer.hibernate.logic.BaseManager.<init>(BaseManager.java:14) 
    com.st.wma.datalayer.hibernate.logic.MapSearchManager.<init>(MapSearchManager.java:42) 
    com.st.wma.page.mapsearch.MapSearchPage.beforeRender(MapSearchPage.java:44) 
    st.liotrox.page.WPage.doWrite(WPage.java:1712) 
    st.liotrox.page.WPage.write(WPage.java:1626) 
    st.liotrox.servlet.CIPRequestHandler.doRenderPage(CIPRequestHandler.java:164) 
    st.liotrox.servlet.CIPRequestHandler.renderPage(CIPRequestHandler.java:95) 
    st.liotrox.servlet.CIPRequestHandler.sendResponse(CIPRequestHandler.java:51) 
    st.liotrox.servlet.AbstractRequestHandler.doHandleRequest(AbstractRequestHandler.java:183) 
    st.liotrox.servlet.AbstractRequestHandler.handleRequest(AbstractRequestHandler.java:133) 
    st.liotrox.servlet.RequestFilterChain.executeRequest(RequestFilterChain.java:60) 
    st.liotrox.servlet.filter.AbstractRejectRequestFilter.filterRequest(AbstractRejectRequestFilter.java:130) 
    st.liotrox.servlet.filter.MaxUserRequestsFilter.filterRequest(MaxUserRequestsFilter.java:106) 
    st.liotrox.servlet.RequestFilterChain.executeRequest(RequestFilterChain.java:56) 
    st.liotrox.servlet.filter.AbstractRejectRequestFilter.filterRequest(AbstractRejectRequestFilter.java:130) 
    st.liotrox.servlet.RequestFilterChain.executeRequest(RequestFilterChain.java:56) 
    st.liotrox.servlet.FilteredRequestHandler.handleRequest(FilteredRequestHandler.java:72) 
    st.liotrox.servlet.ApplicationServlet.delegatesExecutionToRequestHandler(ApplicationServlet.java:833) 
    st.liotrox.servlet.ApplicationServlet.doMonitoredRequest(ApplicationServlet.java:811) 
    st.liotrox.servlet.ApplicationServlet.executeRequest(ApplicationServlet.java:706) 
    st.liotrox.servlet.ApplicationServlet.doService(ApplicationServlet.java:563) 
    st.liotrox.servlet.ApplicationServlet.service(ApplicationServlet.java:498) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 

root cause 

java.lang.NoClassDefFoundError: javax/persistence/EntityListeners 
    org.hibernate.cfg.annotations.reflection.JPAMetadataProvider.getDefaults(JPAMetadataProvider.java:96) 
    org.hibernate.annotations.common.reflection.java.JavaReflectionManager.getDefaults(JavaReflectionManager.java:226) 
    org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1355) 
    org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1826) 
    com.st.wma.datalayer.hibernate.util.HibernateUtil.<clinit>(HibernateUtil.java:15) 
    com.st.wma.datalayer.hibernate.logic.BaseManager.<init>(BaseManager.java:14) 
    com.st.wma.datalayer.hibernate.logic.MapSearchManager.<init>(MapSearchManager.java:42) 
    com.st.wma.page.mapsearch.MapSearchPage.beforeRender(MapSearchPage.java:44) 
    st.liotrox.page.WPage.doWrite(WPage.java:1712) 
    st.liotrox.page.WPage.write(WPage.java:1626) 
    st.liotrox.servlet.CIPRequestHandler.doRenderPage(CIPRequestHandler.java:164) 
    st.liotrox.servlet.CIPRequestHandler.renderPage(CIPRequestHandler.java:95) 
    st.liotrox.servlet.CIPRequestHandler.sendResponse(CIPRequestHandler.java:51) 
    st.liotrox.servlet.AbstractRequestHandler.doHandleRequest(AbstractRequestHandler.java:183) 
    st.liotrox.servlet.AbstractRequestHandler.handleRequest(AbstractRequestHandler.java:133) 
    st.liotrox.servlet.RequestFilterChain.executeRequest(RequestFilterChain.java:60) 
    st.liotrox.servlet.filter.AbstractRejectRequestFilter.filterRequest(AbstractRejectRequestFilter.java:130) 
    st.liotrox.servlet.filter.MaxUserRequestsFilter.filterRequest(MaxUserRequestsFilter.java:106) 
    st.liotrox.servlet.RequestFilterChain.executeRequest(RequestFilterChain.java:56) 
    st.liotrox.servlet.filter.AbstractRejectRequestFilter.filterRequest(AbstractRejectRequestFilter.java:130) 
    st.liotrox.servlet.RequestFilterChain.executeRequest(RequestFilterChain.java:56) 
    st.liotrox.servlet.FilteredRequestHandler.handleRequest(FilteredRequestHandler.java:72) 
    st.liotrox.servlet.ApplicationServlet.delegatesExecutionToRequestHandler(ApplicationServlet.java:833) 
    st.liotrox.servlet.ApplicationServlet.doMonitoredRequest(ApplicationServlet.java:811) 
    st.liotrox.servlet.ApplicationServlet.executeRequest(ApplicationServlet.java:706) 
    st.liotrox.servlet.ApplicationServlet.doService(ApplicationServlet.java:563) 
    st.liotrox.servlet.ApplicationServlet.service(ApplicationServlet.java:498) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 

在搜索,我發現javax/persistence/EntityListeners是Java EE 5中/ JPA 1.0規範的一部分。

由於我的服務器(Tomcat)沒有JPA實現,我在尋找一個不需要Hibernate的版本。它是哪個版本?

非常感謝。

回答

3

爲了補充其他答案:在Hibernate 3.6之前,Hibernate有一些模塊,比如Annotations,Entity Manager和Core。最後一個是「原始」Hibernate,沒有JPA API依賴。從3.6開始,註釋和實體管理器被合併到Core中。也就是說,你仍然可以在任何獨立的應用程序中使用Hibernate,或者在Tomcat等Servlet引擎中使用Hibernate。你只需要在類路徑中使用JPA API。

0

如果你想使用HibernateEntityManager,Hibernate需要JPA api,HibernateEntityManager自帶Jar。只需將API.jar添加到您的類路徑。

2

如果您已經下載了hibernate分發文件,那麼您將在lib子文件夾中具有必需和可選的庫,只需將它們添加到您的類路徑即可。

2

用於整流誤差 「java.lang.NoClassDefFoundError:的javax /持久/ EntityListeners」 添加jar文件休眠-JPA-2.0-API-1.0.1.Final.jar其處於休眠的JPA文件夾中提供主目錄到你的類路徑作爲值........現在編譯並執行你的程序...

相關問題