Критерий Spring запрашивает связь между многими - PullRequest
0 голосов
/ 09 апреля 2020

У меня проблема с моим настраиваемым запросом, выполненным с помощью критерия запроса, мне нужно сделать предложение In для поля, которое имеет отношение многие ко многим, каков наилучший способ?

здесь есть объект

public class Book {

    private int idBook;

    //bi-directional many-to-many association to Author
    @ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(
        name="book_author"
        , joinColumns={
            @JoinColumn(name="idBook")
            }
        , inverseJoinColumns={
            @JoinColumn(name="idAuthor")
            }
        )
    private Set<Author> authors;

вот моя неправильная попытка

        if (filterValue.getAuthors() != null) {
            In<Integer> authorsInId = cb.in(root.get("authors"));
            for (AuthorsPOJO subsystem : filterValue.getAuthors()) {
                authorsInId.value(authors.getIdAuthor());
            }
            predicates.add(authorsInId);
        }

спасибо

...