Добрый день.
Есть код:
try (Transaction tx = persistence.createTransaction()) {
em = persistence.getEntityManager();
//Добавление сущности
Group group = metadata.create(Group.class);
group.setName(grName);
em.persist(group);
//Поиск сущностей по id
List foo = em.createQuery(“select e from sec$Group e where e.id = ?1”, Group.class).setParameter(1,group.getId()).getResultList();
//Поиск сущностей всех
List bar = em.createQuery(“select e from sec$Group e”, Group.class).getResultList();
tx.commit();
}
В данном случае List “foo” содержит новую добавленную запись (поиск производился по id).
List “bar”, который не имеет условий, тем не менее не содержит новую запись. При поиске по другим атрибутам (например, наименование), запись тоже не находится.
Почему поиск через EntityManager находит новые сущности только при поиске через id?