Несоответствующий тип Expection в @Query с выражением безопасности - PullRequest
0 голосов
/ 23 апреля 2019

В настоящее время я пытаюсь использовать @Query с выражением безопасности Spring для соответствия любому пользователю, который принадлежит к тому же региону / местоположению, что и зарегистрированный пользователь.

Я использую следующий код для достижения этой цели

@Override
@Query(value = "select u from User u where u.region in :#{principal.region}")
Page<User> findAll(Pageable var1);

Моя таблица пользователей имеет следующую связь с регионом

@ManyToMany( mappedBy = "users")
private List<Region> region = new ArrayList<>();

Моя таблица регионов имеет следующую связь с пользователями

@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinTable(name = "region_users", joinColumns = @JoinColumn(name = "region_id", referencedColumnName= "id"),
        inverseJoinColumns = @JoinColumn(name = "user_id", referencedColumnName = "id")
)
private List<User> users = new ArrayList<>();

мой пользовательский основной объект имеет следующее поле региона

private List<Region> region;

public UserPrincipal(Long id, String username, String password,
                     Collection<? extends GrantedAuthority> authorities, Role role, List<Region> region) {
    this.id = id;
    this.username = username;
    this.password = password;
    this.authorities = authorities;
    this.role = role;
    this.region = region;
}

со следующим методом get

public List<Region> getRegion() { return this.region; }

Когда я делаю запрос к конечной точке API, которая использует переопределенный метод find all, я получаю следующее исключение

Причина: java.lang.IllegalArgumentException: значение параметра [com.example.ReportTool.model.Region@18ab655a] не соответствует ожидаемому типу [java.util.Collection (n / a)]

Может кто-нибудь помочь мне с этим вопросом? Также, если этот вопрос слишком неопределенный, пожалуйста, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...