26 Stimmen

Hibernate JPA und Spring javax.persistence.TransactionRequiredException: Es findet keine Transaktion statt

Wenn ich anrufe:

entityManager.flush()

Ich verstehe die im Titel erwähnte Ausnahme.

Ich bin mit Hibernate JPA.

0voto

Jason Gritman Punkte 5131

Für JBoss 4.0 und Hibernate habe ich dieses Problem durch Hinzufügen einiger Transaktionsmanager-Eigenschaften zu meiner EntityManagerFactoryBean Definition:

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <property name="dataSource" ref="xaDs" />
    <property name="jpaProperties">
        <props>
            <prop key="hibernate.transaction.factory_class">org.hibernate.transaction.JTATransactionFactory
            </prop>
            <prop key="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.JBossTransactionManagerLookup
            </prop>
        </props>
    </property>

Ich habe die Lösung gefunden zu diesem Thema auf dem Message Board .

0voto

chro Punkte 1925

Ich habe das alles als Gefolgschaft gemacht. Meine Probleme waren mit "import" Tag, es gibt mehrere Kontext Root wie Servlet-Kontext und Root-Kontext, die nicht voneinander abhängig sind. Es wird deutlich mit Spring Explorer Ansicht in STS. Kein JTA für Tomcat.

Mein Ratschlag wäre universell: Lassen Sie Pet Clinic in Ihrer Umgebung laufen, Wie man Spring 3.0 PetClinic in Tomcat mit Hibernate und JPA ausführt oder generieren Sie mit Roo stub der Anwendung und versuchen Sie, Ihre Konfigurationen mit referenzierten zu vergleichen.

0voto

Firzen Punkte 1779

Ich habe diesen Fehler schließlich behoben, indem ich Folgendes hinzugefügt habe

<tx:annotation-driven mode="aspectj" transaction-manager="yourTransactionManager" />

in meine application-context.xml

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X