Crudrepository findBy подпись метода с несколькими операторами in?

85

У меня есть такой класс сущности:

@Entity
@Table(name = "EMAIL")
class Email{
    @Id
    @Column(name = "Id")
    Long id;
    @Column(name = "EMAIL_ID")
    String emailId;
    @Column(name = "PIN_CODE")
    String pincode;
}

Как написать findByметод для приведенного ниже запроса с использованием данных crudrepository spring jpa?

select email_id,name from email_details where eamil_id in('mike@gmail.com','ram@gmail.com') and pin_code in('633677','733877')

Я ожидаю, что метод jpa данных spring, как показано ниже, но как его построить?

List<Email> findBy.....(List<String> emails, List<String> pinCodes);

Я хочу получить список писем за одно обращение к базе данных.

Венката Рама Раджу
источник

Ответы:

179

Подойдет следующая подпись:

List<Email> findByEmailIdInAndPincodeIn(List<String> emails, List<String> pinCodes);

Spring Data JPA поддерживает большое количество ключевых слов для построения запроса. INи ANDнаходятся среди них .

Тунаки
источник
2
9 месяцев поисков, чтобы получить простой ответ. Спасибо!
Antonio112009