1. 程式人生 > >解決no--session的問題

解決no--session的問題

Session

        上週在編寫hibernate4的相關程式碼的時候,出現異常 org.hibernate.LazyInitializationException: could not initialize proxy - no Session  網上出現最多的解決方案是  openSessionInViewFilter

        形如:

1

2

3

4

5

6

7

8

9

10

11

12

13

<!-- open session filter -->

    <filter>

        <filter-name>openSessionInViewFilter</filter-name>

        <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class>

        <init-param> 

            <param-name>singleSession</param-name> 

            <param-value>true</param-value> 

        </init-param> 

        <init-param>

            <param-name>sessionFactoryBeanName</param-name>

            <param-value>sessionFactory</param-value>

        </init-param>

    </filter>


    同時,也參與配置了另外一個引數:

    在stackoverflow 上面找到一篇介紹 使用了 hibernate.enable_lazy_load_no_trans 的處理,配置後解決了錯誤:

    

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<bean id="sessionFactory"

        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

        <property name="dataSource" ref="dataSource" />

        <property name="packagesToScan">

            <list>

                <value>com.alexgaoyh</value>

            </list>

        </property>

        <property name="hibernateProperties">

            <props>

                <prop key="javax.persistence.validation.mode">none</prop>

                <prop key="hibernate.dialect">${hibernate.dialect}</prop>

                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>

                <prop key="hibernate.format_sql">true</prop>

                <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>

                <prop key="hibernate.query.substitutions">${hibernate.query.substitutions}</prop>

                <prop key="hibernate.default_batch_fetch_size">${hibernate.default_batch_fetch_size}</prop>

                <prop key="hibernate.max_fetch_depth">${hibernate.max_fetch_depth}</prop>

                <prop key="hibernate.generate_statistics">${hibernate.generate_statistics}</prop>

                <prop key="hibernate.bytecode.use_reflection_optimizer">${hibernate.bytecode.use_reflection_optimizer}</prop>

                <prop key="hibernate.enable_lazy_load_no_trans">true</prop>

            </props>

        </property>

    </bean>