SSH整合,applicationContext.xml中配置hibernate映射文件问题

  今天在applicationContext.xml中配置sessionFactory时遇到了各种头疼的问题,现在总结一下:

  1.<property name="mappingDirectoryLocations"> 如果你的xxx.hbm.xml配置文件放在了src目录的包下面,要使用mappingDirectoryLocations管理映射文件,最好在<value>标签中的文件目录前加上classpath:

  如:

1 <property name="mappingDirectoryLocations">
2 <list>
3 <value>classpath:com/sims/*/model</value>
4 </list>
5 </property>

  因为今天写项目时,没有加classpath,用junit测试service完全没问题,但是放到了tomcat下面就出现了xxx is not mapped这样的异常。排查了好久……

  PS:当然,mappingDirectoryLocations是支持通配符的。

 

  2.如果在读取配置文件时,提示Unable to get the default Bean Validation factory或者带有validation字样的异常,那估计是少了这个配置:

1 <property name="javax.persistence.validation.mode">none</property>

  这是在hibernate.cfg.xml中的写法

但是,当我们进行SSH整合时,则需要在applicationContext.xml中配置Hibernate,那么我们需要在hibernateProperties下进行配置。同样的,加上上面一句配置即可。

1 <property name="hibernateProperties">
2             <props>
3                 <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
4                 <prop key="hibernate.show_sql">true</prop>
5                 <prop key="hibernate.format_sql">true</prop>
6                 <prop key="javax.persistence.validation.mode">none</prop>
7             </props>
8         </property>

 

转载于:https://www.cnblogs.com/iridescent/p/3674396.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值