Встречается на собеседованиях • сегодня

Как использовать Entity Graph в JPA

Entity Graph в JPA позволяет управлять загрузкой связанных сущностей, избегая проблемы N+1 запросов. **Пример:** ```java @Entity @NamedEntityGraph( name = "Employee.withDepartment", attributeNodes = @NamedAttributeNode("department") ) public class Employee { @Id private Long id; private String name; @ManyToOne(fetch = FetchType.LAZY) private Department department; } ``` **Использование:** ```java EntityGraph graph = em.getEntityGraph("Employee.withDepartment"); TypedQuery query = em.createQuery("SELECT e FROM Employee e", Employee.class); query.setHint("javax.persistence.loadgraph", graph); List employees = query.getResultList(); // department загружается сразу ``` **Типы графов:** - **Load Graph (`javax.persistence.loadgraph`)** – указанные атрибуты загружаются EAGER, остальные – по умолчанию. - **Fetch Graph (`javax.persistence.fetchgraph`)** – только указанные атрибуты загружаются, остальные – LAZY. Подходит для оптимизации запросов без изменения маппинга сущностей.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы