Tôi biết khóa lạc quan và bi quan là gì, nhưng khi bạn viết mã java, bạn làm cách nào? Giả sử tôi đang sử dụng Oracle với Java, tôi có phương pháp nào trong JDBC để giúp tôi làm điều đó không? Làm thế nào tôi sẽ cấu hình điều này? Mọi con trỏ sẽ được đánh giá cao.Làm thế nào để mã khóa lạc quan và bi quan từ mã java
6
A
Trả lời
3
Giả sử tôi đang sử dụng Oracle với Java, tôi có phương pháp nào trong JDBC sẽ giúp tôi làm điều đó không?
This Oracle paper sẽ cung cấp cho bạn một số mẹo về cách thực hiện việc này.
Không có phương pháp JDBC cụ thể. Thay vào đó, bạn đạt được khóa lạc quan bằng cách bạn thiết kế các truy vấn/cập nhật SQL của bạn và nơi bạn đặt các ranh giới giao dịch.
11
Bạn có thể thực hiện khóa lạc quan trong bảng DB của bạn theo cách này (đây là cách lạc quan khóa được thực hiện trong Hibernate):
- Thêm số nguyên "phiên bản" cột vào bảng của bạn.
- Tăng giá trị của cột này với mỗi lần cập nhật của hàng tương ứng.
- Để lấy khóa, chỉ cần đọc giá trị "phiên bản" của hàng.
- Thêm điều kiện "version = obtained_version" vào mệnh đề của tuyên bố cập nhật của bạn. Xác minh số hàng bị ảnh hưởng sau khi cập nhật. Nếu không có hàng nào bị ảnh hưởng - ai đó đã sửa đổi mục nhập của bạn.
cập nhật của bạn sẽ trông như thế
UPDATE mytable SET name = 'Andy', version = 3 WHERE id = 1 and version = 2
Tất nhiên, cơ chế này chỉ hoạt động nếu tất cả các bên theo nó, trái với ổ khóa DBMS-với điều kiện là không cần xử lý đặc biệt.
Hy vọng điều này sẽ hữu ích.
Các vấn đề liên quan
- 1. Khóa bi quan trong T-SQL
- 2. Khóa lạc quan trong JPA là gì?
- 3. Làm cách nào để chỉ định khóa bi quan với API tiêu chí?
- 4. Làm cách nào để triển khai "khóa bi quan" trong ứng dụng asp.net?
- 5. Khóa lạc quan trong Hibernate theo mặc định
- 6. khi nào là một khóa bi quan được phát hành trong đường ray?
- 7. Làm cách nào để bạn triển khai khóa lạc quan hạt mịn trong REST?
- 8. Tại sao mã hóa bảo mật java lại quan trọng?
- 9. Tại sao tránh khóa bi quan trong hệ thống điều khiển phiên bản?
- 10. Làm thế nào để sử dụng tính năng phiên bản khóa lạc quan Hibernate trên giao diện người dùng?
- 11. Tổng quan về mã Ember.js
- 12. Làm thế nào để gọi mã Java từ C#?
- 13. Làm thế nào để sử dụng scala.None từ mã Java
- 14. Làm thế nào để chạy mã MATLAB từ Java?
- 15. Cross Biên dịch mã ARM7 từ studio trực quan
- 16. Làm thế nào để tạo cảnh quan thay đổi kích thước về sự kiện liên lạc
- 17. JPA hợp nhất trong một ứng dụng web RESTful với DTO và Khóa lạc quan?
- 18. Sử dụng ETag để khóa lạc quan trong ứng dụng REST Django
- 19. BI liên quan đến khai thác dữ liệu như thế nào?
- 20. Làm thế nào để Clojure aproach tách mối quan tâm?
- 21. Làm thế nào để khóa các nút android/điện thoại từ mã (khóa màn hình)?
- 22. Làm thế nào để mã hóa một chuỗi với khóa riêng và giải mã bằng khóa công khai?
- 23. Gọi máy chủ Go từ mã Java Script liên quan đến API Google Maps
- 24. Word Net - Từ đồng nghĩa và cấu trúc từ liên quan - Java hoặc Python
- 25. Làm thế nào để lưu trữ an toàn các khóa mã hóa trong java?
- 26. Gọi mã Scala từ Java?
- 27. Làm thế nào để tạo mối quan hệ khóa ngoại với Khung thực thể?
- 28. Làm thế nào để mã hóa mã nguồn Perl?
- 29. GnuPG: Làm thế nào để mã hóa/giải mã các tệp bằng một khóa nhất định?
- 30. Làm thế nào để chuyển đổi mã ASCII (0-255) thành một chuỗi ký tự liên quan?
Khóa Java và JDBC không liên quan theo cách bạn đang tìm kiếm. Vấn đề bạn đang cố gắng giải quyết là gì? Các khóa Java là các khóa lại có thể lấy được bằng cách sử dụng từ khóa 'đồng bộ'. Vì vậy, chính xác những gì bạn đang tìm kiếm? – Pavan
tôi đang tìm kiếm khóa cơ sở dữ liệu – user2434