Wpis z mikrobloga

#java
#spring

https://bottega.com.pl/pdf/materialy/receptury/tx.pdf

REQUIRESNEW – skutki separacji w JPA
Wywołując metody z propagacją REQUIRES
NEW, zawsze stworzona zostanie nowa transakcja.
Jeżeli używamy JPA, to pracujemy z nową instancją
EntityManager, czyli mamy doczynienia z nowym, osobnym cache pierwszego poziomu (L1 cache).
Musimy pamiętać o konsekwencjach:
Dane pobrane przez metodę zewnętrzną nie znajdują się w tym samym cache co dane dla metody zewnętrznej
Pobieranie danych przez „wewnętrzny” cache powoduje opróżnienia „zewnętrznego” cache – nie widzimy tych danych w bazie przy odczycie

Czy instancja EM jest zawsze tworzona dla nowej transakcji jak to jest?
EntityManager jest thread safe?
  • 5