Mysql
 sql >> Baza danych >  >> RDS >> Mysql

hibernate, mysql, glassfish v3 i źródło danych JTA

Wygląda na to, że w Twojej konfiguracji domyślnie używane są transakcje zarządzane przez kontener. W takim przypadku należy zdefiniować sposób synchronizacji transakcji, aby powiadomić warstwę trwałości (i na przykład zaktualizować pamięć podręczną drugiego poziomu). Musisz więc zdefiniować manager_lookup_class właściwość w następujący sposób:

// For GlassFish:
hibernate.transaction.manager_lookup_class=org.hibernate.transaction.SunONETransactionManagerLookup
// For WebSpere:
hibernate.transaction.manager_lookup_class=org.hibernate.transaction.WebSphereExtendedJTATransactionLookup
// For JBoss:
hibernate.transaction.manager_lookup_class=org.hibernate.transaction.JBossTransactionManagerLookup
// For OpenEJB:
hibernate.transaction.manager_lookup_class=org.apache.openejb.hibernate.TransactionManagerLookup

Musisz także oznaczyć metody biznesowe, które uzyskują dostęp do warstwy danych jako „transakcyjne”. W tym celu musisz je oznaczyć za pomocą @javax.ejb.TransactionAttribute(REQUIRED) (patrz tutaj aby uzyskać więcej informacji na temat tej adnotacji).

Masz również możliwość przejścia na transakcje zarządzane ziarnami. Możesz to zrobić, mówiąc:

hibernate.transaction.factory_class=org.hibernate.transaction.JTATransactionFactory

Wtedy fasola odpowiada za rozpoczęcie/zakończenie transakcji:

org.hibernate.Session session = ...;
org.hibernate.Transaction tx = null;
try {
    tx = session.beginTransaction();
    session.createQuery(...); // do some staff
    tx.commit();
} catch (HibernateException e)
{
    if (tx != null) {
        tx.rollback();
    }
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Użyj relacyjnych baz danych MySQL w Fedorze 13

  2. Błąd przygotowanej instrukcji Java MYSQL:Sprawdź składnię, aby użyć obok znaku „?” w linii 1

  3. Ładowanie tekstu zakodowanego w UTF-8 do tabeli MySQL

  4. Błąd Rails-MySQL - niezainicjowana stała MysqlCompat::MysqlRes

  5. 193:%1 nie jest poprawnym błędem aplikacji Win32 z nową aplikacją Rails