Сервис возвращает правильное значение, а REST MVC Controller - нет

У меня есть Entity Company у которой есть переменная boolean active. Я хочу, что бы мой метод контролера возвращал только Entity, у которых active=true. Для этого я написал метод сервиса:

public List<Company> getAll(int userId, boolean excludeNotActive) {
    return excludeNotActive ? repository.getAllByUserIdActiveOnly(userId, SORT_BY_REGISTER_TIME)
                : repository.getAllByUserId(userId, SORT_BY_REGISTER_TIME);
}

// repository
@Transactional(readOnly = true)
public interface CompanyRepository extends JpaRepository<Company, Integer> {
    @Query("FROM Company l LEFT JOIN FETCH l.members m WHERE l.owner.id = ?1 OR m.user.id = ?1")
    List<Company> getAllByUserId(int userId, Sort sort);

    @Query("FROM Company c LEFT JOIN FETCH c.members m WHERE c.owner.id = ?1 OR m.user.id = ?1 AND c.active = true")
    List<Company> getAllByUserIdActiveOnly(int userId, Sort sort);
}

И Junit тест, который проходит.

Затем я написал метод в контролере:

@GetMapping
public List<Company> getCompanies() {
    int userId = authUserId();
    log.info("Get all companies by user {}", userId);
    return service.getAll(userId, true);
}

И точно такой-же Junit тест, только теперь, вместо вызова метода сервиса, я делаю запрос в контролер. Не работает, показывает все фирмы: и активные, и нет. Однако фильтрация по userId работает верно. Если проводить тесты вручную: делать запрос, к примеру, в браузере - картина та-же.


Ответы (0 шт):