Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > TransactionRequiredException в Non Jta запросах


Автор: JDmitry 14.4.2009, 20:21
Доброго #{timeofday} господа эксперты.

Столкнулся я с такой ситуацией. У меня приложение, работающее на Tomcat 6 + Hibernate + MySql (соединение не через JPA, т. е. LOCAL_RESOURCE) 

Проблема в том, что запросы на выборку работают великолепно, Но запросы на удаление/вставку и обновление вызывают  TransactionRequiredException, говоря о том, что данная операция без транкзаций невозможна.


Подскажите, как мне сконфигурировать Hibernate JPA,чтобы избавится от требований обязательных транкзаций. 
(запросы примитивны, поэтому приложение в транкзациях не нуждается)

Автор: powerOn 14.4.2009, 22:11
Если используется transaction-type="RESOURCE_LOCAL", то управлять транзакциями нужно самостоятльно, используя методы класса EntityTransaction.

Код

        EntityManagerFactory emf = Persistence.createEntityManagerFactory(...);
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();
        ...
        // добавление-удаление-изменение записей
        em.getTransaction().commit();
        ...
        em.close();


А в целом, для начала неплохо ознакомится с понятием транзакции и зачем это нужно, благо материалов по этой теме в сети более чем достаточно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)