Встречается на 2% собеседований по Java
Куда напишешь JOIN FETCH в findById()
JOIN FETCH в JPA/Hibernate используется для жадной загрузки связанных сущностей, избегая проблемы N+1. В findById() его нельзя применить напрямую, так как это метод CrudRepository/JpaRepository, но можно использовать в JPQL/HQL или Criteria API.
Пример с @Query:
java
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
@Query("SELECT u FROM User u JOIN FETCH u.roles WHERE u.id = :id")
Optional<User> findByIdWithRoles(@Param("id") Long id);
}Или через EntityGraph:
java
@EntityGraph(attributePaths = "roles")
Optional<User> findWithRolesById(Long id);Для стандартного findById() ленивая загрузка останется, JOIN FETCH не применим.

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