Mam obecnie problem ze zrozumieniem koncepcji JPA.Zarządzanie aplikacjami a kontenerami Zarządzanie podmiotami
Obecnie używam/rozwijam najnowszą bazę danych EclipseLink, Glassfish, Derby, aby zademonstrować projekt.
Zanim opracuję coś znacznie większego, muszę mieć całkowitą pewność, jak działa ta PersistingUnit w zakresie różnych zakresów.
Mam kilka serwletów 3.0 i obecnie zapisuję klasy obiektów powiązanych użytkownika w obiekcie request.session (wszystko w tym samym pliku wojny). Obecnie używam zarządzanego przez aplikację EntityManager przy użyciu wtrysku EntityManagerFactory i UserTransaction. Działa gładko, gdy jest testowany przeze mnie. Różne wersje jednostek występują, gdy 2 osoby uzyskują dostęp do tych samych podmiotów w tym samym czasie. Chcę pracować z zarządzanymi ziarnami przechodzącymi przez tę samą WAR, tę samą jednostkę utrwalania, jeśli to możliwe.
Przeczytałem http://docs.oracle.com/javaee/6/tutorial/doc/bnbqw.html i kilka wyjaśnień tych zakresów, które nie mają dla mnie żadnego sensu.
Krótka historia krótka, jakie są różnice między aplikacjami i menedżerami EntityManager zarządzanymi przez aplikację i kontenerem?
co masz na myśli przez "Teraz wyobraź sobie, że masz kontener, który wie, kiedy nazwać bycie, zatwierdzenie lub wycofanie, jest to transakcja zarządzana przez kontener, ktoś, kto zajmuje się transakcją w twoim imieniu."? –
Kontener jest jak wiosna, gdzie konfigurujesz swój komponent, określasz, jaki jest twój obiekt tansakcyjny, tak jak konfigurujesz komponent bean, określasz, że Twój komponent bean jako @Transactional, a twoja transakcja jest zajęta przez wiosnę – mprabhat
Znalazłem pytanie, które odzwierciedla co Szukałem - "użytkowania i różnicy aplikacji EntityManagers zarządzanych przez aplikację i kontenerem", aby dowiedzieć się, że zaakceptowana odpowiedź mówi o czymś innym - kontener kontra aplikacja obsługiwana _transactions_. Ponadto odpowiedź zaczyna się od "Kiedy mówisz o transakcji zarządzanej przez aplikację", której OP nie powiedział. – alterfox