Tôi không chắc chắn về chế độ cam kết tự động của java JDBC, tôi đang tạo kết nối có chế độ cam kết tự động được đặt thành false. Sau đó tôi kích hoạt một truy vấn chọn trên cơ sở dữ liệu, nó hoạt động tốt, tôi đang bị ấn tượng rằng cam kết phải được gọi chỉ để chèn, cập nhật, xóa các câu lệnh.Chế độ giả tự động giả mạo java
Bây giờ tôi có cần phải cam kết kết nối cho Chọn truy vấn không? Nếu không thì bảng đó sẽ bị khóa cho các giao dịch khác?
Xin cảm ơn, Rohit.
http://java.sun.com/j2se/1.3/docs/api/java/sql/Connection.html#TRANSACTION_REPEATABLE_READ - không có gì về chọn statment tạo khóa. Khóa được tạo bởi các số liệu DML – cetnar
Nếu bạn thực hiện "SELECT FOR UPDATE" trên Oracle DB, khối giao dịch thứ hai (chờ trên khóa) nếu nó thực hiện "SELECT FOR UPDATE" trên cùng một bản ghi. – tangens
@tangens Tôi muốn chọn thường xuyên. Tôi đã chỉ vào phản ứng của tôi rằng chọn để cập nhật tạo khóa trong mọi trường hợp. Trong mô hình cách ly 'REPEATABLE READ', lựa chọn thường xuyên không tạo ra khóa. Chế độ cách ly tuân thủ các thay đổi và quy tắc không được tuân thủ để chọn dữ liệu bị ảnh hưởng bởi những thay đổi này. – cetnar