Я новичок в спящем и весеннем и пытаюсь научиться использовать спящий перехватчик.Я просмотрел документацию сообщества, в которой говорится, что ....
Этот перехватчик связывает новый сеанс Hibernate с потоком перед вызовом метода, закрывая и удаляя его впоследствии в случае какого-либо результата метода.Если уже существует предварительно связанный сеанс (например, из HibernateTransactionManager или из окружающего метода, перехваченного Hibernate), перехватчик просто участвует в нем.
Но я не могу понять, когда мы используемэто и почему мы используем это?
когда для создания taskDao вот так?
<bean name="abstractDao" abstract="true">
<property name="hibernateTemplate" ref="taskHibernateTemplate"/>
</bean>
<bean id="taskHibernateInterceptor" class="org.springframework.orm.hibernate3.HibernateInterceptor">
<property name="sessionFactory" ref="taskSessionFactory"/>
</bean>
<bean id="taskDaoTarget" class="com.xyz.abc.backgroundtask.impl.TaskDao" parent="abstractDao"/>
<bean id="taskDao" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyTargetClass" value="true"/>
<property name="interceptorNames">
<list>
<value>taskHibernateInterceptor</value>
<value>taskDaoTarget</value>
</list>
</property>
</bean>
и когда для создания taskDao вот так?
<bean name="abstractDao" abstract="true">
<property name="hibernateTemplate" ref="taskHibernateTemplate"/>
</bean>
<bean id="taskDao" class="com.xyz.zbc.backgroundtask.impl.TaskDao" parent="abstractDao"/>