Как найти сущность по точному списку (либо с помощью методов запроса данных Spring, либо с помощью jpql / sql)? - PullRequest
0 голосов
/ 24 февраля 2020

Вот код для 2 сущностей (он генерирует три таблицы в базе данных). Book сущность:

@Entity
public class Book {
    @Id
    private long id;

    private String name;

    @ManyToMany
    private List<Author> authors;
}

Author сущность:

@Entity
public class Author {
    @Id
    private long id;

    @Column(unique=true)
    private String name;
}

Мне нужно найти книгу по названию и авторам. Проблема в том, что должно быть полное совпадение всего списка авторов. Сейчас я пытаюсь использовать следующий метод запроса:

List<Book> findByNameAndAuthors_NameIn(String name, List<String> authors);

И это не то, что я хочу, так как здесь не точное совпадение.

Например, если у нас есть "book" с {"author1", "author2"} в базе данных, должен работать только findBy...("book", {"author1", "author2"}), а не findBy...("book", {"author1"}) или findBy...("book", {"author1", "author3"})

...