2013-07-27 4 views
-1

` классам: database.properties Невозможно получить текущий сеанс

<bean id="sessionFactory" 
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 

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

    <property name="hibernateProperties"> 
     <props> 
      <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop> 
      <prop key="hibernate.show_sql">true</prop> 
      <prop key="hibernate.hbm2ddl.auto">update</prop> 
     </props> 
    </property> 

    <property name="packagesToScan" value="org.entity"> 

    </property> 

</bean> 
<bean id="transactionManager" 
    class="org.springframework.orm.hibernate4.HibernateTransactionManager"> 
    <property name="sessionFactory" ref="sessionFactory"></property> 

</bean> 
<tx:annotation-driven/> 
<!-- not working --> 
<!-- <context:component-scan base-package="org.service"></context:component-scan> --> 

` это мой файл конфигурации пружины. Проблема в том, что я не получаю текущий сеанс в своих классах репозитория, которые отмечены @Repository, я аннотировал мои методы обслуживания с помощью аннотации @Transactional. Однако все автоуслуги работают нормально, единственная проблема заключается в том, что я пытаюсь получить текущий сеанс в классах репозитория, и если я использую bean-тег для создания экземпляра моего репозитория и сервисных компонентов, он работает. Что я здесь делаю неправильно?

+0

Пожалуйста, размещайте вопросы с конкретным кодом о том, как «я не получаю текущий сеанс в моих классах репозитория». Код не отображается, чтобы показать, как и где происходит ошибка. Голосование закрывается. –

ответ

0

Используйте фильтр OpenSessionInView или аналогичный, таким образом, вы должны иметь сеанс, доступный во время жизненного цикла запроса (рендеринг контроллера/представления).

+0

Я не думаю, что мне действительно нужно что-то подобное. любым способом я получаю сессию при использовании тега bean. Я должен был бы получить сессию здесь. черт возьми, черт возьми, ошибается – varun

+0

Как вы получаете сеанс в своих классах @Repository? Показать нам. И если вы не используете OpenSessionInView, как вы ожидаете, что ленивая загрузка будет работать на ваших страницах JSP? –

+0

Я не хочу никакой ленивой загрузки на моих страницах jsp, я инициализирую свои классы сущностей в слое службы, если мне нужны ленивые данные. Мой вопрос в том, что если требуется инициализировать фильтр для инициализации, то как это работает, когда я создаю beans, используя тег в файле конфигурации XML? – varun

Смежные вопросы