Встречается на собеседованиях • сегодня
Работал ли с Projection в Spring Data
Да, работал. Projection в Spring Data позволяет выбирать только нужные поля из сущности, что полезно для оптимизации запросов.
Есть два типа проекций:
1. **Interface-based** - создаем интерфейс с геттерами нужных полей:
```java
public interface UserNameOnly {
String getUsername();
}
```
И используем в репозитории:
```java
List findByActiveTrue();
```
2. **Class-based (DTO)** - используем `@Value` для неизменяемых DTO:
```java
@Value
public class UserDto {
String username;
String email;
}
```
В репозитории:
```java
@Query("SELECT new com.example.UserDto(u.username, u.email) FROM User u")
List findUserSummaries();
```
Также есть **Dynamic Projections**, где тип проекции указывается в методе репозитория:
```java
List findByActiveTrue(Class type);
```
Проекции уменьшают объем передаваемых данных и нагрузку на БД.

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