Mam obiekt hibernacji o nazwie Execution. Jest tworzony na początku mojego procesu i aktualizowany na końcu, wskazując, jak to się skończyło.Aktualizowanie obiektu JPA-Hibernate bez wybierania go z bazy danych
Chciałbym zaktualizować pojedynczą właściwość tego obiektu, bez powodowania wyboru w mojej bazie danych.
Execution execution = entityManager.getReference(Execution.class, executionId);
execution.setStatus(Status.FINISHED);
// -> Wywołanie tej metody uruchamia SELECT w mojej bazie danych. Nie chciałem, żeby to się stało, chcę tylko zaktualizować mój podmiot.
Nie jest to specyficzne dla tej metody, każda inna wywołana metoda daje w wyniku klauzulę SELECT. W rzeczywistości wybór wydaje się mieć miejsce jeszcze przed wywołaniem mojej metody. Mam wrażenie, że proxy hibernacji umieszcza jakiś kod wewnątrz klasy contructor no-args, by uruchamiać select za każdym razem, gdy wywoływana jest jakakolwiek metoda.
Czy można aktualizować obiekty JPA/hibernacji bez uruchamiania instrukcji SELECT w mojej bazie danych?
Przyjmuję tę odpowiedź jako właściwą. Natrafiłem na łatwiejsze rozwiązanie tego, czego chcę, używając JPA-QL Bulk Update/Insert http://docs.jboss.org/hibernate/stable/entitymanager/reference/en/html/batch.html#batch-direct – user266391
@ user266391 Nie znam JPA, dzięki za link :-) –