org.hibernate.HibernateException: сеанс не найден для текущего потока.Можем ли мы использовать две сессии Hibernate в одном методе - PullRequest
0 голосов
/ 06 мая 2019

Я занимаюсь разработкой приложения с использованием Spring и Hibernate. Я должен прочитать значения из одной базы данных (которая находится в локальной сети), и я должен хранить эти значения в другой базе данных (которая находится в производстве). Поскольку у меня нет деталей производственной базы данных, я храню эти значения в локальной базе данных с различными объектами sesiion. .Я поместил аннотацию @transactional поверх контроллера. Но когда я запускаю приложение, оно показывает

.

org.hibernate.HibernateException: сеанс не найден для текущего потока

мой дао класс

@Repository
public class ReSyncDaoImpl implements ReSyncDao {
    @Autowired
    private SessionFactory sessionFactory;
    @Autowired
    private SessionFactory sessionFactory1;
    @Override
    public void syncData(String applicationNumber) {
        SyncStatus syncstatus = (SyncStatus) this.sessionFactory.getCurrentSession().get(SyncStatus.class, applicationNumber);
        SyncedData syncedData = new SyncedData();
        BeanUtils.copyProperties(syncstatus, syncedData);
        syncedData.setSyncstatus("Y");
        this.sessionFactory1.getCurrentSession().saveOrUpdate(syncedData);

        syncstatus.setSyncstatus("Y");
        this.sessionFactory.getCurrentSession().update(applicationNumber, syncstatus);
    }
}

Диспетчерская служба

<bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:hibernate.cfg.xml" />
    </bean>

    <bean id="sessionFactory1"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:hibernate.cfg.xml" />
    </bean>

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

    <bean id="transactionManager1"
        class="org.springframework.orm.hibernate4.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory1" />
    </bean>
    <tx:annotation-driven transaction-manager="transactionManager" />
    <tx:annotation-driven transaction-manager="transactionManager1" />

в чем была ошибка, которую я делаю.

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