У меня есть сущность Student с двумя полями: id, name. Я сохраняю ее в базе, используя entityManager persist (), затем, используя JPQL, обновляю одну сущность и получаю ее. Данные в сущности старые. Почему? но в БД все данные сущности меняются.
public class Main {
public static void main(String[] args) {
EntityManagerFactory myFactory = Persistence.createEntityManagerFactory("myPerName777");
EntityManager entityManager = myFactory.createEntityManager();
EntityTransaction transaction = entityManager.getTransaction();
transaction.begin();
entityManager.persist(new Student("max"));
entityManager.persist(new Student("max"));
entityManager.persist(new Student("max"));
entityManager.persist(new Student("mike"));
entityManager.persist(new Student("mike"));
transaction.commit();
transaction.begin();
Query query = entityManager.createQuery("UPDATE Student s set s.userrname='JOHN' where s.id=1");
query.executeUpdate();
transaction.commit();
Student student = entityManager.find(Student.class,1);
System.out.println(student.getUserrname());
entityManager.close();
myFactory.close();
}
}
Этот код возвращает Max, но в БД дата меняется. Как я могу вернуть фактические данные?