2009-03-11 8 views
0

Dernièrement, j'ai décidé d'implémenter dans mon projet des transactions CMT (jBoss5, Hibernate, jta postgres datasource). Tout fonctionne correctement sauf Hibernate.initialize() dans mes entités. Cela fonctionne dans les beans EJB mais lorsque j'essaie d'invoquer initialize dans l'entité getter, j'obtiens l'exception "could not associate with session". Cela a bien fonctionné avant d'implémenter des transactions. Quelqu'un a-t-il eu le même problème?HIbernate et CMT

Répondre

0

Ok après jour la navigation sur Internet, j'ai trouvé quel est le problème. Lorsque vous marquez la méthode comme prend en charge les transactions. Ça ne les démarre pas. Si vous récupérez des objets hors de la transaction, ils sont hors session et donc vous ne pouvez pas initialiser leurs propriétés ...

0

De la reference page suivante vous devrez peut-être assurer que les propriétés actuelles sont correctement configurés pour CMT

  • mis hibernate.transaction.manager_lookup_class à une stratégie de recherche pour votre conteneur Java EE (voir here pour une liste des gestionnaires de transactions JTA)
  • mis hibernate.transaction.factory_class-org.hibernate.transaction.CMTTransactionFactory
+0

J'ai écrit que tout fonctionne sauf Hibernate.initialize() et que seulement dans les entités. J'ai déjà défini hibernate.transaction.manager_lookup_class. (Je ne veux pas définir une fabrique de transactions car le gestionnaire d'entités Hibernate n'aime pas ça). Quelqu'un d'idée quel est le problème? – Dogrizz