hibernate4--

场景:hibernate3更换hibernate4后,查询对象时抛如下异常

找不到关联的类

 

解决方法:

1.方法一

打开hbm.xml文件

<many-one>

改为

lazy="false"

2. 方法二

在web.xml文件添加

< filter >   
    < filter-name > HibernateOpenSession</ filter-name >    
    < filter-class > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</ filter-class >   
</ filter >   
< filter-mapping >   
    < filter-name > HibernateOpenSession</ filter-name >   
    < url-pattern > /*</ url-pattern >   
</ filter-mapping >

  注:OpenSessionInViewFilter类中有个属性叫 sessionFactoryBeanName默认值为sessionFactory,如果Spring中配置的SessionFactory不叫这个名字时,需要指定SessionFactory的名字,否则会引起org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘sessionFactory‘ is defined异常。

< filter >   
    < filter-name > HibernateOpenSession</ filter-name >    
    < filter-class > org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</ filter-class >   
    < init-param >   
        < param-name > sessionFactoryBeanName</ param-name >   
        < param-value > mySessionFactory</ param-value >   
    </ init-param >   
</ filter >   
< filter-mapping >   
    < filter-name > HibernateOpenSession</ filter-name >   
    < url-pattern > /*</ url-pattern >   
</ filter-mapping >

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。