spring与hibernate整合时实体类映射文件找不到的问题

Caused by: java.lang.IllegalArgumentException: Mapping directory location [class path resource [s2sh/angryfeng/person/entity/Person.hbm.xml]] does not denote a directory


配置文件:

错误配置:

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
   <property name="dataSource" ref="dataSource" />
   <property name="mappingDirectoryLocations">
      <list>
         <value>classpath:s2sh/angryfeng/*/entity/Person.hbm.xml</value>
      </list>
   </property>
</bean>

Caused by: java.io.FileNotFoundException: /home/clouder/s2sh/out/production/s2sh/s2sh/angryfeng/person/entity (Is a directory)

错误配置2:

<property name="mappingLocations">
   <list>
      <!--
         spring容器会去该包及子包下搜索所有的映射文件
       -->
      <value>classpath*:s2sh/angryfeng/*/entity</value>
   </list>
</property>


以上配置刚好倒过来了,
mappingDirectoryLocations:需要的是一个映射文件所在的目录
mappingLocations:需要的是具体的映射文件


所以应该如此配置:
<property name="mappingDirectoryLocations">
   <list>
      <value>classpath:s2sh/angryfeng/*/entity</value>
   </list>
</property>

或者

<property name="mappingLocations">
   <list>
      <!--
         spring容器会去该包及子包下搜索所有的映射文件
       -->
      <value>classpath*:s2sh/angryfeng/*/entity/*.hbm.xml</value>
   </list>
</property>


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值