2012-03-07 15 views
12

Hizmet katmanında güncelleme işlevini veritabanında yapan bir yöntem var.Yay çatısında varsayılan yalıtım düzeyi

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

Şimdi, bahar yöntemiyle belirlenen bu yöntemin yalıtım düzeyi nedir?

Ben bahar için yeni biriyim, sadece kendimi işlemlerle rahat ettirmek istedim.

Lütfen en iyi uygulamayı paylaşın? ve izolasyon seviyesini ayarlama yolları - kilitlenmeyi önlemek ve böylece aynı kullanıcının farklı tarayıcılardan kaydını güncellemeye çalışmasını önlemek.

cevap

7

docs (Isolation.DEFAULT) göre,

yatan veri deposuna varsayılan yalıtım düzeyini kullanın kullanır. Eğer @Transactional eklenti kullanmak üzere

, ben .: orada doğru olduğundan

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

örneğin yalıtım düzeyini ayarlamak, ama sen gerçekten REQUIRES_NEW ve SERIALIZABLE ihtiyaç emin olacaktır. Bunlar genellikle sadece kendi dizilerinizi yönetmek gibi bir şey için gereklidir. Varsayılanlar bir güncelleme için iyi olmalıdır. – AngerClown

+0

@ beny23, bu yüzden eğer haklıysam, uygulamaum Oracle veritabanı tarafından belirlenen varsayılan yalıtım seviyesini kullanacaktır. Doğru mu? – challenge

+1

@challenge evet ve READ COMMITTED olduğuna inanıyorum ... – beny23

İlgili konular