Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

hibernate, mysql, glassfish v3 và JTA datasource

Có vẻ như đối với cấu hình của bạn, các giao dịch do vùng chứa quản lý được sử dụng theo mặc định. Trong trường hợp này, bạn cần phải xác định một cách đồng bộ hóa giao dịch để lớp bền vững được thông báo (và có thể cập nhật bộ đệm cấp 2 chẳng hạn). Vì vậy, bạn cần xác định manager_lookup_class thuộc tính sau:

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

Ngoài ra, bạn phải đánh dấu các phương thức kinh doanh truy cập lớp dữ liệu là "giao dịch". Để làm được điều đó, bạn cần đánh dấu chúng bằng @javax.ejb.TransactionAttribute(REQUIRED) (xem tại đây để biết thêm thông tin về chú thích này).

Bạn cũng có một tùy chọn để chuyển sang các giao dịch do bean quản lý. Bạn có thể làm điều đó bằng cách nói:

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

Sau đó, bean chịu trách nhiệm bắt đầu / kết thúc giao dịch:

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. Nhân rộng MySQL để có tính khả dụng cao

  2. Mysql DateTime nhóm 15 phút

  3. Mysql Chỉ chọn các bản ghi riêng biệt từ các ngày gần nhất

  4. Nhanh chóng xây dựng giao diện CRUD PHP với Công cụ tạo CRUD nâng cao PDO

  5. Cách xóa toàn bộ cơ sở dữ liệu MySQL