2013-07-10 48 views
6

Bunun muhtemelen bir kopya olduğunu biliyorum ve ironik olarak, burada okumaya başlamadan önce ve orada bunun için ne olduğunu biliyordum (NEEDLESS TO SAY ama yine de söyleyeyim, lütfen yanlış olduğum yeri düzeltin) :
, transaction.begin() ve commit()'u kullanmak zorunda kalmadan programcıyı rahatlatır. Eğer normal operasyonların her birini kapsayan bir transaction.begin ve transaction.commit'a sahip olan iki DAO yöntemini çağıran bir yönteminiz varsa ve bunları çağırdığınızda iki işlemle sonuçlanır (ve önceki dao yönteminin de geri alması gerekiyorsa geri alma sorunları olabilir)). Ancak, yönteminizde @transactional kullanırsanız, o DAO aramaları tek bir begin() - commit() döngüsüne sarılacaktır. Tabii ki, @transactional'u kullanırsanız, DAO'lar sanırım begin() ve commit() yöntemlerini kullanmamalıdır.@Transactional ne yapar?

+1

haklısınız, http://stackoverflow.com/questions/1099025/spring-transactional-what-happens-in-background – robotoaster

+1

adresinin bir kopyasıdır. Eklemek istediğiniz bir şey, ekleme gibi bir kod eklerseniz veya metodunuza programatik olarak başlayın, işe yarayacaktır. İşlem sadece veritabanı bağlantınızı otomatik işlem yapmayacak şekilde değiştirir. – OQJF

cevap