Giriş
Normalde JPA sağlayıcısı save() işlemini hemen veri tabanına göndermez. Optimizasyon amaçlı biraz bekletir. saveAndFlush () JPA sağlayıcısını işlemin hemen veri tabanında uygulanmasını sağlar.
PaymentMethod saveAndFlush(PaymentMethods entity);
Örnek
Tabloya yapılan işlemin hemen görülmesi için kullanılır. Şöyle yaparız.@Transactional
public void saveAndGenerateResult(Data data) {
saveDataInTableA(data.someAmountForA);
saveDataInTableB(data.someAmountForB);
callAnAggregatedFunction(data);
}
public void saveDataInTableA(DataA a) {
tableARepository.saveAndFlush(a);
}
public void saveDataInTableA(DataB b) {
tableBRepository.saveAndFlush(b);
}
public void callAnAggregatedFunction() {
// Do something based on the data saved from the beginning in Table A and Table B
}
Hiç yorum yok:
Yorum Gönder