Obecnie planujemy aplikację i jesteśmychce używać Hibernate. Baza danych aplikacji będzie stanowiła bazę danych online, ale aplikacja powinna działać w trybie offline. Możesz więc załadować obiekt z bazy danych, zamknąć połączenie, bawić się z obiektem i być może później zaktualizować go w bazie danych. Problem polega na tym, że (o ile wiem) Hibernate wykonuje aktualizację bazy danych za każdym razem, gdy obiekt jest modyfikowany, co oznacza, że wyśle wyjątek, jeśli połączenie zostanie w międzyczasie zamknięte. Moje pytanie brzmi teraz: czy Hibernate może być skonfigurowany do przeprowadzania aktualizacji w określonym ręcznie czasie?
Odpowiedzi:
2 dla odpowiedzi № 1Wygląda na to, że zupełnie nie rozumiesz pojęcia Jednostka pracy używane przez Hibernate.
Możesz załadować obiekt w jednej sesjizamknij sesję, a następnie scal ten obiekt (lub inny obiekt o tej samej tożsamości) w inną sesję (tak, aby modyfikacja obiektu między nimi została opróżniona w tej nowej sesji). W międzyczasie wszystkie sesje mogą zostać zamknięte, a odłączony obiekt może być użyty jako normalny obiekt (jeśli nie próbujesz uzyskać dostępu do niezainicjowanych właściwości leniwych).
Zobacz też: