1. 程式人生 > >【hibernate框架】hibernate遇到的幾個異常解決

【hibernate框架】hibernate遇到的幾個異常解決

  今天使用hibernate3.6.5自己配置jar lib,在測試時遇到了幾個異常如下:


1.java.lang.NoSuchFieldError: INSTANCE


      解決:刪除hibernate-annotations.jar。


2.java.lang.ClassCastException: org.hibernate.annotations.common.reflection.java.JavaReflectionManager cannot be cast to org.hibernate.annotations.common.reflection.MetadataProviderInjector


      解決:刪除hibernate-commons-annotations.jar。


3.org.hibernate.HibernateException: No CurrentSessionContext configured!


      解決:新增hibernate-jpa-2.0-api-1.0.0.Final.jar


4.org.hibernate.HibernateException: No TransactionManagerLookup specified


   at org.hibernate.context.JTASessionContext.currentSession(JTASessionContext.java:81)
   at org.hibernate.impl.SessionFactoryImpl.getCurrentSession(SessionFactoryImpl.java:687)
   at com.cvv.service.UserManager.exists(UserManager.java:16)


      沒有CurrentSessionContext的配置。


      解決:在整合Hibernate的環境下(例如Jboss),要在hibernate.cfg.xml中session-factory段加入: 


Xml程式碼 :  
      <property name="current_session_context_class">jta</property>
在不整合Hibernate的環境下(例如使用JDBC的獨立應用程式),在hibernate.cfg.xml中session-factory段加入:


Xml程式碼 :


      <property name="current_session_context_class">thread</property>


測試執行,ok!