Niestandardowa klasa JPA odwzorowujący ma metodę:Kiedy używać EntityManager.clear()?
removeUser()
1. execute 'DELETE' HQL query to remove user
2. call getEntityManager().flush();
3. call getEntityManager().clear();
Jeśli rozumiem clear() poprawnie usunie z kontekstu wszystkie uporczywe podmiotów. -source
Jednak ja również czytać here,
you should define clear architecture- and design guidelines about where a
clear() can be called.
Jakie są wyraźne wytyczne dotyczące kiedy zadzwonić clear()?
jeśli nie jest to menedżer encji związany z transakcją, czy EM czasami się oczyści, jak na przykład wyrzucanie śmieci? –
EM nie będzie oczyść się, jeśli nie oczyścisz go wyraźnie, oczywiście, jeśli nie będzie już dostępny, będzie GCed jak każdy inny obiekt –
Popraw mnie jeśli się mylę, ale powiedziałbym, że trzeci powód używania 'clear' być funkcją 'tearDown' w testach, więc t hat EntityManager zawsze ma czysty stan i nie może ingerować w np. połączenie dbal – Nickolaus