Junior — Middle
Welke gegevens worden in de database opgeslagen als je de methoden persist of save aanroept voor het object Person en vervolgens de leeftijd bijwerkt binnen een transactie?
sobes.tech AI
Antwoord van AI
Если вызвать метод persist или save для объекта Person в рамках транзакции, объект становится управляемым (attached) в контексте персистентности. При этом данные объекта будут сохранены в базе данных при коммите транзакции.
Если после вызова persist или save внутри той же транзакции изменить поле возраст (например, person.setAge(newAge)), то при коммите транзакции в базу будет записано обновленное значение возраста. Это происходит потому, что ORM (например, Hibernate) отслеживает изменения управляемых сущностей и автоматически синхронизирует их с базой данных.
Пример на Hibernate:
entityManager.getTransaction().begin();
entityManager.persist(person); // объект становится управляемым
person.setAge(30); // изменение поля
entityManager.getTransaction().commit(); // изменения сохранятся в базе
Итог: в базе данных будет сохранено состояние объекта Person с обновленным возрастом.