今天使用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!
最终jar lib为:

在使用hibernate 3.6.5时遇到了多个异常,包括NoSuchFieldError、ClassCastException和两个HibernateException。通过删除特定jar文件,添加hibernate-jpa-2.0-api-1.0.0.Final.jar,以及配置current_session_context_class属性,成功解决了问题。在Jboss环境下设置为'jta',独立JDBC应用中设置为'thread'。
3179

被折叠的 条评论
为什么被折叠?



