Hibernacja nazwanych zapytań i przewaga wydajności?

Jako dokument hibernacyjny mówi, że celem nazwanego zapytania jest wyczyszczenie HQL z różnych miejsc w projekcie do pojedynczego miejsca w jakimś xml (w przypadku podejścia deklaratywnego). wymagane, co oznacza uruchomienie serwera w większości przypadków, gdy obiekt zapytania jest buforowany. Ale w przypadku adnotacji muszę zdefiniować nazwane zapytania na poziomie jednostki. Więc kompilacja ponownie wymaga. Moje pytanie brzmi: czy nazwane zapytanie pomaga również w wydajności. Oto moje zrozumienie: -

1) Kiedy używam nazwanych zapytań, tylko obiekt zapytania jest buforowany w pamięci podręcznej drugiego poziomu. Kiedy mówię po prostu obiekt zapytania, oznacza to, że składnia zapytania jest buforowana, a nie wynik zapytania. Jeśli jest to właściwe, prawdopodobnie jest to użyteczne tylko w przypadku becoz HQL, gdzie możemy uniknąć przenoszenia HQL do rodzimych zapytań, za każdym razem, gdy odpytywane jest zapytanie i mamy dobrą wydajność w czasie.

Ale jeśli używamy natywnego sql, nazwane zapytanie nie zapewnia tej przewagi, ponieważ w takim przypadku nie ma tłumaczenia.

Tak więc główną zaletą nazwanego zapytania jest utworzenie centralnego repozytorium sqls. Tak w przypadku HQL może to zaoszczędzić nam trochę czasu na tłumaczenie na rodzimy sql, ale należy pamiętać, że obiekt zapytania będzie leżał przez cały czas życia jvm i zajmie trochę pamięci. Więc trochę handlu tutaj.

questionAnswers(1)

yourAnswerToTheQuestion