2012-03-07 22 views
12

Tôi có một phương thức trong lớp dịch vụ, tính năng cập nhật nào cho cơ sở dữ liệu.mức cách ly mặc định trong khung mùa xuân

@Transactional(propagation = Propagation.REQUIRES_NEW) 
public void update(final Object obj){ 
// 
    } 

bây giờ tôi muốn biết mức cô lập cho phương pháp này được đặt bởi khung mùa xuân là gì?

Tôi là một người mới đến mùa xuân, chỉ muốn làm cho bản thân mình thoải mái với giao dịch.

Hãy chia sẻ một số phương pháp hay nhất? và cách để thiết lập mức độ cô lập - để tránh bế tắc và do đó ngăn cản cùng một người dùng cố gắng cập nhật hồ sơ của mình từ các trình duyệt khác nhau.

Trả lời

7

Theo docs (Isolation.DEFAULT), nó sử dụng

Sử dụng các mức cô lập mặc định của kho dữ liệu cơ bản.

Như bạn đang sử dụng @Transactional chú thích, tôi sẽ thiết lập mức độ cô lập ở đó, ví dụ .:

@Transactional(propagation=Propagation.REQUIRES_NEW, isolation=Isolation.SERIALIZABLE) 
+0

Đó là chính xác, nhưng chắc chắn rằng bạn thực sự cần REQUIRES_NEW và SERIALIZABLE. Đây thường chỉ cần thiết cho một cái gì đó giống như quản lý trình tự của riêng bạn. Các giá trị mặc định sẽ ổn cho một bản cập nhật. – AngerClown

+0

@ beny23, vì vậy nếu tôi đúng ứng dụng của tôi sẽ sử dụng mức cách ly mặc định được thiết lập bởi cơ sở dữ liệu oracle. Chính xác ? – challenge

+1

@challenge vâng, và tôi tin là ĐÃ ĐỌC KẾT HỢP ... – beny23

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