Wpis z mikrobloga

#java #spring #programowanie

zaczynam ze springiem i mam pytanie
mam sobie bazę sql i mam jakiś tam interfejs DataRepository i mam sobie jakiś serwis, który korzysta z tego repository

chce sobie w tym serwisie zrobić metodę, która wykona operacje na tym repository w jednej transakcji
coś w stylu:
public void dupa(){
repository.deleteAll();
repository.save(dupa111);
}

jak to zrobić? wystarczy dodać @Transcational i stanie się magia czy trzeba jakieś transcationmanagery wykorzystywać czy jeszcze co innego?
  • 3
@mediateh7: tylko jedna rzecz, metody modyfikujące powinny być oznaczone @Transactional, a niemodyfikujące, czyli findList, findObject itp - @Transactional(readOnly = true)
Jeżeli nie zaznaczysz, że rO ma być true, domyślnie będzie false, przez co wykluczysz niektóre optymalizacje ORM albo/i DB.