2012-01-01 20 views
6

Có sự khác biệt nào giữa hai loại này không? Ví dụ trong một giao dịch ngủ đông, chúng ta có thể truy cập cơ sở dữ liệu, chạy một số mã java và sau đó truy cập lại cơ sở dữ liệu. Chúng tôi không thể làm điều đó trong một giao dịch được thực hiện thông qua SQL có thể chúng tôi? Đây có phải là sự khác biệt?Sự khác biệt giữa giao dịch hibernate và giao dịch cơ sở dữ liệu được thực hiện bằng truy vấn sql?

Trả lời

5

2 liên kết trực tiếp với nhau - bản đồ giao dịch Hibernate đến và điều khiển giao dịch JDBC (cơ sở dữ liệu).

Bạn có thể làm điều tương tự với JDBC/SQL trực tiếp, không có Hibernate - mặc dù bạn sẽ cần phải gọi Connection.setAutoCommit(false) để bắt đầu. Nếu không, theo mặc định, một cam kết được gọi sau mỗi câu lệnh - làm cho mỗi câu lệnh chạy trong giao dịch của chính nó.

Một số chi tiết bổ sung có sẵn tại http://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html.

Các vấn đề liên quan