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

Как получить безошибочный доступ к ассоциации сущности

Для безопасного доступа к ассоциации сущности в Hibernate/JPA используйте ленивую загрузку (`FetchType.LAZY`) и проверяйте инициализацию ассоциации через `Hibernate.isInitialized()`. Пример: ```java @Entity public class Order { @OneToMany(fetch = FetchType.LAZY, mappedBy = "order") private List items; public List getItems() { if (!Hibernate.isInitialized(items)) { throw new IllegalStateException("Items not initialized"); } return items; } } ``` Альтернативно можно использовать `JOIN FETCH` в JPQL для явной загрузки: ```java Order order = em.createQuery( "SELECT o FROM Order o JOIN FETCH o.items WHERE o.id = :id", Order.class) .setParameter("id", orderId) .getSingleResult(); ``` Всегда проверяйте инициализацию или используйте стратегии загрузки явно, чтобы избежать `LazyInitializationException`.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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