OpenEntityManagerInViewInterceptor - нет EntityManager с фактической транзакцией, доступной для текущего потока - не может надежно обработать постоянный вызов - PullRequest
0 голосов
/ 29 октября 2018

Мы переходим с Spring 3 на Spring 4 вместе с представлением EntityManager. Ранее в коде мы использовали OpenSessionInViewInterceptor в качестве перехватчика в bean-компоненте с urlmapping. Это работало нормально, прикрепляя сеанс к каждому запросу потока из сети. Сейчас я использую OpenEntityManagerInViewInterceptor, но EntityManager не присоединен к текущей теме, и получаю исключение Нет EntityManager с фактической транзакцией, доступной для текущего потока - не может надежно обработать постоянный вызов Если я поставлю @Transactional над моим методом DAO, он будет работать нормально, но мне придется делать это во многих местах, поэтому я хочу избежать этого и попытаться исправить это с помощью OpenEntityManagerInViewInterceptor. Пожалуйста, дайте мне знать, как я могу заставить его работать.

applicationContext.xml -

<bean id="openEntityManagerInViewInterceptor" class="org.springframework.orm.jpa.support.OpenEntityManagerInViewInterceptor">  
                <property name="entityManagerFactory" ref="entityManagerFactory" />  
            </bean>

dispatcher-servlet.xml -

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>                
                <prop key="/EditHelp/*.do">EditHelpController</prop>
            </props>
        </property>
        <property name="interceptors">
            <list>
                <ref bean="openEntityManagerInViewInterceptor" />
            </list>
        </property>    
    </bean>

Любая помощь будет оценена. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...