Встречается на 2% собеседований по Java
Какие знаешь способы создания Entity Graph в Hibernate
Hibernate Entity Graph позволяет контролировать загрузку связанных сущностей, избегая N+1 проблемы. Основные способы:
- Annotation-based (статический):
java
@Entity
@NamedEntityGraph(
name = "Employee.department",
attributeNodes = @NamedAttributeNode("department")
)
public class Employee { ... }- Programmatic (динамический):
java
EntityGraph<Employee> graph = em.createEntityGraph(Employee.class);
graph.addAttributeNodes("department");
Map<String, Object> hints = new HashMap<>();
hints.put("javax.persistence.loadgraph", graph);
Employee emp = em.find(Employee.class, id, hints);- JPA 2.1 Standard через аннотации:
java
@NamedEntityGraphs({
@NamedEntityGraph(
name = "graph.Employee.phones",
attributeNodes = @NamedAttributeNode("phones")
)
})Ключевые типы графов:
LOAD(javax.persistence.loadgraph) - переопределяет стратегию загрузкиFETCH(javax.persistence.fetchgraph) - учитывает только указанные атрибуты
Entity Graphs особенно полезны для оптимизации запросов с ленивыми ассоциациями.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы