2011-01-20 9 views
6

Mam małe pytanie. Muszę zaktualizować obiekt. Przyniosłem to. Obiekt jest obiektem naciągu. Teraz .. Jeśli zmienię jakiekolwiek właściwości, ponieważ jest to obiekt presystyczny (nieodłączony), wszelkie zmiany są natychmiast zapisywane? Muszę zadzwonić do funkcji? Lub kiedy sesja jest opróżniana, modyfikacja jest przechowywana?Hibernacja głupie pytanie? Zaktualizuj trwały obiekt

Dzięki!

+0

Czy próbowałeś? – skaffman

+0

Nie rozumiem, o co chodzi ... – tkt986

Odpowiedz

5

Jeśli jest to obiekt trwały, zmiany zostaną zapisane, gdy sesja zostanie opróżniona.

+0

Ok. Oznacza to, że gdy moja akcja struts2 modyfikuje właściwości, przed zwróceniem SUCCESS, sesja musi zostać przepłukana. Ale, jeśli sesja jest zarządzana przez fasolę wiosenną, jak powiedzieć, aby opróżnić? –

+0

@luigi, sesja opróżnia się automatycznie, zanim się zamknie. Jeśli sesja została skonfigurowana tak, aby była otwarta dla całego żądania, będzie się ona kończyła po powrocie działania. Możesz wypróżnić jawnie przy pomocy session.flush(), gdy tylko uzyskasz sesję. – hvgotcodes

+0

Problem polega na tym, jak skonfigurować zamykanie sesji po żądaniu ... –

0

Odnośnie odpowiedzi Chrisa i pytanie uzupełniające "Jak skonfigurować sesję do zamknięcia po żądaniu": tradycyjnym sposobem na to jest owinięcie odpowiednich serwletów (zakładając, że jest to aplikacja internetowa) w Filtrze, otwiera sesję i łączy ją z bieżącym wątkiem, wywołania doFiltra, a następnie zatwierdza lub wycofuje transakcję w zależności od tego, czy wystąpił błąd. Jest to znane jako wzorzec "Otwarta sesja w widoku".