Training, Workshops, Softwareentwicklung

Hibernate Tutorial

Refresh

Der EntityManager bietet eine Methode refresh(), mit der wir ein Objekt auf den Datenbank-Zustand zurücksetzen können.

RefreshTest
Customer customer = em.find(Customer.class, 1L); (1)

assertNotNull(customer);
assertEquals("Buck", customer.getFirstname());
assertEquals("Rogers", customer.getLastname());

customer.setFirstname("Alice"); (2)

LOG.info("Before refresh");
em.refresh(customer); (3)
LOG.info("Behind refresh");
assertNotNull(customer);
assertEquals("Buck", customer.getFirstname()); (4)
1 Wir laden das Objekt von der Datenbank.
2 Wir ändern das Objekt.
3 Das Objekt wird "wirklich" neu geladen.
4 Wir sehen wieder den Wert aus der Datenbank