Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

hibernate, mysql, glassfish v3, dan sumber data JTA

Sepertinya untuk konfigurasi Anda, transaksi yang dikelola kontainer digunakan secara default. Dalam hal ini Anda perlu menentukan cara sinkronisasi transaksi sehingga lapisan persistensi diberitahukan (dan dapat memperbarui cache tingkat ke-2 misalnya). Jadi, Anda perlu mendefinisikan manager_lookup_class properti sebagai berikut:

// 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

Anda juga harus menandai metode bisnis yang mengakses lapisan data sebagai "transaksional". Untuk itu Anda perlu menandainya dengan @javax.ejb.TransactionAttribute(REQUIRED) (lihat di sini untuk informasi lebih lanjut tentang anotasi ini).

Anda juga memiliki opsi untuk beralih ke transaksi yang dikelola kacang. Anda dapat melakukannya dengan mengatakan:

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

Kemudian bean bertanggung jawab untuk memulai/mengakhiri transaksi:

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. PHP MYSQL UPDATE jika Ada atau INSERT jika tidak?

  2. HAPUS menggunakan LEFT JOIN dengan LIMIT di MySQL

  3. Cara Mendapatkan Ukuran Tabel di MySQL

  4. Apakah mungkin untuk meneruskan variabel ke panggilan prosedur tersimpan di mysql?

  5. SQL Query tidak menunjukkan hasil yang diharapkan