Ai đó có thể giúp tôi trong trường hợp sử dụng khi sử dụng @Version
và @Audited
trong Hibernate?Khi nào sử dụng @Version và @Audited in Hibernate?
Trả lời
@Phiên bản được sử dụng để triển khai Optimistic locking với Hibernate, do đó, không có hai giao dịch nào ghi đè dữ liệu cùng một lúc với xung đột.
Nếu dữ liệu được đọc bởi hai luồng cùng một lúc và cả hai cố gắng cập nhật cùng hàng với các giá trị khác nhau, Hibernate sử dụng trường @Version để kiểm tra xem hàng đã được cập nhật chưa.
Trước khi cam kết, mỗi giao dịch xác minh rằng không có giao dịch nào khác đã sửa đổi dữ liệu của nó. Nếu được sửa đổi, giao dịch cuối cùng sẽ gặp lỗi Làm việc với lỗi dữ liệu cũ.
@Audited được sử dụng để thực hiện auditing functionality trên đơn vị một phần của Hiberate Envers
@Version
- được sử dụng để triển khai khóa lạc quan, xem 2.2.1.2. Versioning for optimistic locking. Khóa lạc quan là hữu ích khi bạn không mong đợi nhiều lần viết đồng thời và không muốn trả giá khóa cơ sở dữ liệu.
@Autidted
- xuất phát từ Envers API và có thể được sử dụng để tự động theo dõi thay đổi đối với các thực thể trong bảng kiểm tra riêng biệt. Sử dụng Envers để giữ lịch sử thay đổi của một số thực thể của bạn.
Cảm ơn cho câu trả lời – Kathir
- 1. JPA @Version: cách sử dụng?
- 2. Jpa - Hibernate @Version tăng không chính xác
- 3. Hibernate fetching strategy - khi nào sử dụng "join" và khi nào thì dùng "select"?
- 4. JAVA_HOME và java -version
- 5. Cách đặt thủ công các trường @Version với Hibernate 4?
- 6. hibernate restrict.in với và, làm thế nào để sử dụng?
- 7. Khi nào nên sử dụng các phép chiếu Hibernate?
- 8. Khi nào sử dụng chú thích DiscriminatorValue trong hibernate
- 9. Hibernate: cách sử dụng CONCAT và GROUP_CONCAT
- 10. JndiException khi sử dụng Hibernate 4.0 với Tomcat 7 khi sử dụng persistence.xml
- 11. Cách sử dụng hibernate bằng() và hashCode()?
- 12. lỗi khi sử dụng nrepl-jack-in
- 13. khi nào sử dụng dịch vụ in hai mặt?
- 14. Hibernate sử dụng JDBC như thế nào?
- 15. Khi nào sử dụng "mới" và khi nào không sử dụng, trong C++?
- 16. Giao diện OPOS của Máy in POS và khi nào sử dụng nó
- 17. Các vấn đề khi sử dụng Spring Hibernate
- 18. Sử dụng @Version trong dự án dữ liệu xuân
- 19. Khi nào và cách sử dụng hằng số trong PHP?
- 20. Làm thế nào để không kiểm toán một bảng tham gia và các thực thể liên quan bằng cách sử dụng Hibernate Envers?
- 21. NSIS: Tìm và tải xuống .Net Version
- 22. Chỉ định tên ràng buộc khoá ngoại khi sử dụng Bản đồ và @ElementCollection với Hibernate
- 23. Giao dịch lồng nhau sử dụng Spring và Hibernate
- 24. Khi nào sử dụng, không sử dụng, OneToOne và ManyToOne
- 25. Khi nào thì hibernate sử dụng cache cấp đầu tiên? làm thế nào để đăng nhập?
- 26. Hibernate, Spring và SLF4J Binding
- 27. sử dụng log4j với hibernate và glassfish 3.0.1
- 28. Khi nào sử dụng Soapobject và SoapPrimitive
- 29. Khi nào sử dụng TaskEx.Run và TaskEx.RunEx
- 30. Khi nào sử dụng Runtime.maxMemory() và totalMemory()
Cảm ơn câu trả lời và bạn là đúng .. – Kathir