Domanda

Ultimamente ho deciso di implementare nel mio progetto le transazioni CMT (jBoss5, Hibernate, jta postgres datasource). Tutto funziona bene tranne Hibernate.initialize () nelle mie entità. Funziona con bean EJB ma quando provo a invocare l'inizializzazione nel getter di entità ottengo "impossibile associarlo alla sessione" eccezione. Ha funzionato bene prima di implementare le transazioni. Qualcuno ha lo stesso problema con Accros?

È stato utile?

Soluzione

Ok dopo giorni navigando su Internet ho trovato qual è il problema. Quando si contrassegna il metodo come Supporta transazioni. Non li avvia. Se recuperi oggetti fuori transazione, questi sono fuori sessione e quindi non puoi inizializzare le loro proprietà ...

Altri suggerimenti

Dalla seguente pagina di riferimento potrebbe essere necessario assicurarsi che le proprietà correnti siano configurate correttamente per CMT

  • imposta hibernate.transaction.manager_lookup_class su una strategia di ricerca per il tuo contenitore Java EE (vedi qui per un elenco dei gestori delle transazioni JTA)
  • imposta hibernate.transaction.factory_class su org.hibernate.transaction.CMTTransactionFactory
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top