2009-03-11 11 views
0

In letzter Zeit habe ich beschlossen, in meinem Projekt CMT-Transaktionen (jBoss5, Hibernate, jta postgres Datenquelle) zu implementieren. Alles funktioniert gut außer Hibernate.initialize() in meinen Entitäten. Es funktioniert in EJB-Beans, aber wenn ich versuche, in Entity Getter initialisieren, bekomme ich die Ausnahme "konnte nicht mit der Sitzung assoziieren". Es funktionierte gut, bevor Transaktionen durchgeführt wurden. Hat jemand das gleiche Problem?HIbernate und CMT

Antwort

0

Ok nach Tagen das Surfen im Internet fand ich, was das Problem ist. Wenn Sie Methode wie Transaktionen unterstützt. Es startet sie nicht. Wenn Sie Objekte aus der Transaktion abrufen, sind sie out of Sitzung und daher können Sie ihre Eigenschaften nicht initialisieren ...

0

Aus der folgenden reference page Sie benötigen die aktuellen Eigenschaften zu gewährleisten, sind für CMT richtig konfiguriert

  • gesetzt hibernate.transaction.manager_lookup_class zu einer Lookup-Strategie für Ihr Java EE Container (siehe here für eine Liste von JTA Transaktionsmanager)
  • gesetzt hibernate.transaction.factory_class-org.hibernate.transaction.CMTTransactionFactory
+0

Ich schrieb, dass alles außer Hibernate.initialize() und das nur in Entitäten funktioniert. Ich habe bereits hibernate.transaction.manager_lookup_class eingestellt. (Ich möchte die Transaktionsfactory nicht einstellen, da der Hibernate-Entity-Manager das nicht mag). Irgendeine Idee, was ist das Problem? – Dogrizz