Как я могу получить все разрешения, связанные с использованием проекций пользователем, при этом сохраняя проекцию закрытой?
Пользователь
@ElementCollection
@Enumerated(EnumType.STRING)
private List<Permission> permissions;
Разрешение
public enum Permission {
ADD, UPDATE, DELETE
}
Запрос UserRepository
@Query("select u.username as username, p as permissions from User u "
+ "inner join u.permissions p"
List<UserWithPermissions> findAllProjection();
Проекция UserWithPermissions
public interface UserWithPermissions {
String getUsername();
List<Permission> getPermissions();
}
Вывод Я хочу получить
User1 : ADD
User2 : ADD DELETE
Вывод Я получу
User1 : ADD
User2 : ADD
User2 : DELETE