Просто быстрый вопрос, а необходима ли очистка в этом коде?Обратите внимание, что это будет внутри транзакции JPA.
User user = new User();
em.persist(user);
em.flush;
User aUser = em.find(User.class,user.getId());
assert(user.equals(aUser));
Или это будет работать без сброса?
User user = new User();
em.persist(user);
User aUser = em.find(User.class,user.getId());
assert(user.equals(aUser));
Или тот же вопрос, но более сложный пример:
User user = em.find(User.class,id);
user.setName("My Name");
em.merge(user);
em.flush; //Is this line needed?
User aUser = em.createQuery("select u from User where u.name = 'My Name');
assert(user.equals(aUser));