/ / Który trwały kontekst jest lepszy pod względem wydajności w hibernacji? - java, hibernacja

Który Persistent Context jest lepszy pod względem wydajności w hibernacji? - Java, hibernacja

Jak wiemy, w hibernacji istnieją dwa konteksty trwałe mianowicie org.hibernate.Session i javax.persistent.EntityManager ale niektóre metody, które są dostępne w Sesji, nie są dostępne w EntityManager
na przykład
session.delete (byt); jest tam w sesji
ale w EntityManager nie ma usuwania do tego musimy użyć
entityManager.remove (byt); więc którego kontekstu użyć do utrwalenia encji w bazie danych i który jest szybszy między dwoma.

Według mojej wiedzy różnica jest
instancja encji została przekazana do org.hibernate.Metoda usuwania sesji może być w stanie zarządzanym lub odłączonym, natomiast instancja encji przekazana do usunięcia w javax.persistence.EntityManager musi być w stanie zarządzanym.

Odpowiedzi:

2 dla odpowiedzi № 1

Nie ma różnicy w wydajności; Hibernacja po prostu udostępnia swoje usługi za pośrednictwem WZP EntityManager, oprócz natywnego Session. Jeśli nie zależy ci na kompatybilności JPA (nie widzę żadnego dobrego powodu, dla którego powinieneś), użyj natywnego Session aby wykorzystać pełny zestaw funkcji Hibernacji.


0 dla odpowiedzi nr 2

Bardzo dobre pytanie
Wiele trwałych interfejsów API ma delegację na org.hibernate API
więc myślę, że lepiej jest używać bezpośrednio org.hibernate API