EntityManagerFactory vs. SessionFactory w Springu

0

Witam wszystkich, bo to mój pierwszy post :)

Moje pytanie dotyczy tego czy podczas integracji Hibernate'a ze Spring'iem lepiej jest używać entityManager'a z JPA czy session z Hibernate'a?
Pytam, bo zacząłem sie uczyć Hibernate'a używając entityManagera, później chciałem go zintegrować ze Springiem, ale jak widzę chyba w większości takich tutoriali jest używana SessionFactory. Na stacku chyba większośc ludzi pisze, że woli entityManagera. Ja też bym wolał, bo go się uczyłem, ale z jak sprawdzałem Session z Hibernate'a to też jest całkiem podobny i prosty w obsłudze, przynajmniej przy podstawowych funkcjach, bo tych bardziej skomplikowanych metod jeszcze nie używałem, więc w sumie na tym etapie jest mi obojętne czego będę używać. Zastanawia mnie tylko, która z tych dwóch rzeczy będzie wygodniejsza i lepsza przy nieco bardziej skomplikowanych aplikacjach, jaka jest popularność obu tych rozwiązań i czy nie będę musiał w przyszłej pracy przechodzić do drugiego rozwiązania, bo jedne jest dla amatorów.

0

Preferowana jest raczej opcja używania EntityManager gdyż jest to ogólny standard. Możesz kiedyś chcieć zmienić providera JPA w projekcie i wtedy użycie EntityManagera nie wymusza tak wielu zmian w kodzie jak przy użyciu API Hibernate.
http://stackoverflow.com/questions/5640778/hibernate-sessionfactory-vs-entitymanagerfactory

0

Właśnie o na ten temat na stacku natrafiłem wcześniej. Czyli EntityManager to standard i generalnie jest bardziej popularny od Session przy integracji Hibernat'a ze Springiem? Gdy zaznaczę w CV, że znam podstawy Hibernat'a i Spring'a to pracodawca nie powienien się czepiać, że używam EntityManager'a zamiast Session?

0

Wybaczcie za spam, ale chce odświeżyć temat i zadać nowe pytanie. Przeczytałem, że rozwiązanie Hibernate'owe umożliwia bardziej zaawansowane operacje, ale przy użyciu JPA łatwiej się później prenieśc na inny ORM bo to standard i używajac rozwiązania JPA entityManager'a w Springu można w łatwy sposób przejść na Hibarnate'ową sesję za pomocą poniższej linijki kodu:

Session session = entityManager.unwrap(Session.class);

No i zastanawiam się jak to jest z tym, że pracodawcy wymagają Hibernate'a, więc zapytam wprost. Czego Wy albo Wasi znajomi programisci używacie w pracy rozwiązania Hibernate czy JPA? Bo wydaję mi się to dziwne, że pisząc w CV o znajomości Hibernate w praktyce bym go nie używał.

1 użytkowników online, w tym zalogowanych: 0, gości: 1