Hibernate игнорирует fetchgraph
Это моя сущность:
public class PersonItem implements, Serializable{
@Id
@Column(name="col1")
private String guid;
@Column(name="col2")
private String name;
@Column(name="col3")
private String surname;
@Column(name="col4")
private Date birthDate;
//+getters and setters
}
Вот как я получаю список людей:
Query query = em.createQuery("Select p from PersonItem p WHERE p.guid IN (:guids)");
EntityGraph<PersonItem> eg = em.createEntityGraph(PersonItem.class);
eg.addAttributeNodes("guid");
eg.addAttributeNodes("name");
eg.addAttributeNodes("surname");
query.setHint("javax.persistence.fetchgraph", eg);
query.setParameter("guids", guids);
List<PersonItem> list=query.getResultList();
em.close();
// And now I iterate result AFTER EM CLOSE
....iterate
Если я правильно понимаю выборку графа, он должен загружать только те поля, которые я указал. Тем не менее, поле "birthDate" также загружается. Кроме того я вижу, что в hibernate sql запросе выделено 4 столбца.
Как это исправить? Я использую hibernate 5.1.0 в качестве поставщика JPA.