Kiedy mam kwerendę JPA, którą nazywam .getResultList(), daje mi listę obiektów. Czy obiekty na tej liście są zarządzane lub odłączane? Czy muszę się martwić o scalenie lub utrzymanie ich później, jeśli wprowadzę w nich zmiany, czy te zmiany zostaną automatycznie pobrane?Kiedy używam funkcji getResultList() w A JPA Query, czy wyniki są odłączane lub zarządzane?
Odpowiedz
Tak, obiekty zwrócone z .getResultList()
są zarządzane.
Po wprowadzeniu zmian w zarządzanych obiektach nie trzeba się przejmować łączeniem, ponieważ te zmiany zostaną automatycznie pobrane przez EntityManager
.
zarządzanych obiektów zostanie odłączona EntityManager
, który jest używany do załadowania tego obiektu jest close(), clear() lub detach(). Obiekty wolnostojące nie są już modyfikowane i powinieneś scalić, aby pozwolić EntityManager
odebrać zmiany.
Z mojego doświadczenia wynika, że wartości zwracane getResultList() są dołączone. Oznacza to, że nie musisz ich ręcznie utrwalać, jeśli dokonasz w nich modyfikacji w ramach tej samej transakcji.
Będą zarządzane, jeśli jesteś w trakcie transakcji, ale jeśli nie jesteś (np. Jeśli zanotowałeś swoją operację za pomocą TransactionAttributeType.NOT_SUPPORTED lub TransactionAttributeType.NEVER) Twoje jednostki nie będą zarządzane.
- 1. co jest lepsze: getSingleResult lub getResultList JPA
- 2. W jaki sposób zarządzane są sekwencje według JPA i Hibernate?
- 3. Kryteria JPA Query odrębny
- 4. Jakie są zalety funkcji "Zastosuj"? Kiedy są lepsze w użyciu niż pętle "na", a kiedy nie?
- 5. Nieprawidłowe wyniki, gdy używam funkcji `get_ancestors` z` django-mptt`
- 6. Kiedy używam super()?
- 7. Spring Data (JPA) - używanie generycznych w @Query
- 8. Python: UnicodeEncodeError kiedy używam grep
- 9. JPA 2.0 rodzime wyniki kwerendy mapie
- 10. NoSuchMethodError kiedy używam android.widget.RelativeLayout.setBackground
- 11. Solr Query Log - Potrzebne wyniki SQL
- 12. Kiedy używam metody initWithCoder:?
- 13. JPA getResultList() zwraca BigInteger dla MySQL, ale Integer dla serwera Microsoft SQL
- 14. Czy obiekty zapytania JPA są zwracane przez wielokrotnego użytku EntityManager?
- 15. Unknown Source kiedy używam Proguard
- 16. Jaka jest różnica między DAX a Power Query (lub M)?
- 17. Kiedy użyć klauzuli select w API kryteriów JPA?
- 18. Dane wiosny Aktualizacja JPA @Query nie aktualizuje?
- 19. Czy używam lokalizacji lokalnej lub zdalnej?
- 20. Wiosenne transakcje zarządzane, EclipseLink JPA, niestandardowy poziom izolacji
- 21. Dlaczego Class Coupling skacze, kiedy używam LINQ?
- 22. moduły "uwzględnij" py2exe: kiedy powinny być zarządzane ręcznie?
- 23. W jaki sposób zarządzane są podstawowe biblioteki Perla?
- 24. Kiedy używać funkcji UserControl a sterowanie w Silverlight?
- 25. Kiedy używam wątków do drukowania rzeczy na konsoli, dlaczego powoduje to dziwne wyniki?
- 26. Czy używam poprawnie ghcjs?
- 27. zwraca wyniki funkcji (javascript, nodejs)
- 28. Czy metody Dapper QueryMultiple/Query/Execute są bezpieczne w wątku?
- 29. JPA @Query z "przypadkiem, gdy istnieje" nie działa z Hibernate
- 30. Przerwij kontra przycisk Anuluj: Kiedy używam Przerwij, kiedy anulujesz?
Dziękuję bardzo. Myślałem, że będą przywiązani, ale wydawało się, że zostali oderwani. Okazuje się, że mylnie utworzyłem drugi EntityManager, więc wydawało się, że zostali oderwani. –
Czy musisz .commit() zmiany lub jest to również automatyczne? – user2130951
Uważam, że jest automatyczne, ale nie powinno to zaszkodzić. –