Встречается на собеседованиях • сегодня
Как легко подгрузить сущность для объекта
Для подгрузки сущности в Hibernate/JPA можно использовать методы `EntityManager` или репозитория Spring Data. Самый простой способ — `find()`:
```java
// Через EntityManager
MyEntity entity = entityManager.find(MyEntity.class, id);
// Через Spring Data JPA
Optional entity = myRepository.findById(id);
```
Для ленивой загрузки связанных сущностей используй `FetchType.LAZY` в аннотации `@ManyToOne`/`@OneToMany`. Если нужно явно загрузить их в текущей сессии — `Hibernate.initialize()`:
```java
Hibernate.initialize(entity.getLazyCollection());
```
Важно: при работе с отключенной сессией (например, в REST-контроллере) ленивая загрузка вызовет `LazyInitializationException`. Решения:
1. Использовать `@Transactional` в сервисном слое
2. Применить `FetchType.EAGER` (но осторожно — может вызвать N+1 проблему)
3. Использовать DTO или проекции вместо ентити

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