spring4整合hibernate5报错解决

**1、**org.springframework.web.context.support.XmlWebApplicationContext.refresh:544 
- Exception encountered during context initialization 
- cancelling refresh attempt org.springframework.beans.factory.BeanCreationException: 
- Error creating bean with name 'sessionFactory' defined in class path resource 
config/hbmSessionFactory.xml]: Invocation of init method failed; nested exception is 
ava.lang.NoSuchMethodError: org.hibernate.cfg.annotations.reflection.JPAMetadataProvider.<init>
Lorg/hibernate/boot/spi/MetadataBuildingOptions;)V at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.
initializeBean(AbstractAutowireCapableBeanFactory.java:1578)...

该问题是添加了对<groupId>org.hibernate</groupId>
            <artifactId>hibernate-annotations</artifactId>
            <version>3.5.6-Final</version>的依赖
在maven中去对hibernate-annotations的依赖就可以解决该问题
**2、**Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in ServletContext resource [config/hbmSessionFactory.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/engine/SessionFactoryImplementor
解决:
<tx:annotation-driven transaction-manager="transactionManager"/>
<bean id="transactionManager"
        class="org.springframework.orm.hibernate5.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>
**3、**com.opensymphony.xwork2.util.LocalizedTextUtil.debug:84 
- Base class org.apache.catalina.loader.WebappClassLoader doesn't contain 'resourceEntries' 
  field, trying with parent!java.lang.NoSuchFieldException: resourceEntries at 
  java.lang.Class.getDeclaredField(Class.java:2070)
  问题是tomcat得原因:tomcat8中没有该字段,改用tomcat7就可以。
**4、**Cannot run program "/Applications/tomcat-7.0.64/bin/catalina.sh": error=13, Permission denied
该文件没有执行的权限,添加执行的权限即可:
chmod a+x /Applications/tomcat-7.0.64/bin/catalina.sh 
**5、**Invocation of init method failed; nested exception is org.hibernate.boot.
InvalidMappingException: Could not parse mapping document: null
问题在于hibernate mapping的映射出错,必须有id字段,模型中没有id字段添加就可以解决问题
**6** nested exception is java.lang.NoSuchMethodError: javax.persistence.Table.indexes()[Ljavax/persistence/Index;
问题由于包冲突引起:
一个包是
<dependency> <!--hibernate core中包含了persistence-jpa 从而导致注解冲突-->
            <groupId>org.hibernate</groupId>
            <artifactId>ejb3-persistence</artifactId>
            <version>1.0.2.GA</version>
        </dependency>
 一个包hibernate-core依赖的persistence-jpa
 解决:去掉ejb3-persistence
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值