使用org.hibernate.cfg.AnnotationConfiguration的java.lang.IncompatibleClassChangeError

时间:2011-04-14 09:51:22

标签: hibernate spring

我刚开始在基于Sping + Hibernate的项目(JDK 1.6.0_23)中为我的POJO映射使用hibernate注释,并且我收到有关类之间不兼容性的错误。 sessionFactory配置为:

<bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource">
        <ref bean="dataSource" />
    </property>
    <property name="configLocation" value="classpath:hibernate.cfg.xml"/>
    <property name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration" />
    <property name="namingStrategy">
      <bean class="org.hibernate.cfg.ImprovedNamingStrategy" />
    </property>
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.format_sql">no</prop>
            <prop key="hibernate.connection.isolation">3</prop> 
            <prop key="hibernate.transaction.factory_class">com.atomikos.icatch.jta.hibernate3.AtomikosJTATransactionFactory </prop> 
            <prop key="hibernate.transaction.manager_lookup_class">com.atomikos.icatch.jta.hibernate3.TransactionManagerLookup</prop>
        </props>
    </property>
</bean>

在我的Maven项目文件中,我设置了以下依赖项:                                javax.persistence             持久化API             1.0             罐             假                               org.hibernate作为             冬眠的注解             $ {} hibernate.version             罐             假                               org.hibernate作为             休眠核心             $ {} hibernate.version             罐             假                               org.hibernate作为             冬眠-的Ehcache             $ {} hibernate.version             罐             假                       2.5.5         3.5.6决赛         0.5     

有人能给我一个如何解决问题的提示吗? 谢谢

彼得

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,但你可以在这里找到答案:What is a IncompatibleClassChangeError exception in Java?

答案 1 :(得分:0)

这可能是由于旧版本的hibernate实体管理器或hibernate注释,如果你使用最新的hibernate核心jar则不匹配。 检查两个jar并尝试将其升级到最新版本3.5.x