crudrepository findBy method signature with multiple in operators?

Venkata Rama Raju picture Venkata Rama Raju · Sep 26, 2015 · Viewed 129.6k times · Source

I have an Entity Class like this:

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

How to write findBy method for the below query using crudrepository spring data jpa?

select email_id,name from email_details where eamil_id in('[email protected]','[email protected]') and pin_code in('633677','733877')

I am expecting the spring data jpa method like the below but how to construct it?

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

I want to get list of Emails in a single database hit.

Answer

Tunaki picture Tunaki · Sep 26, 2015

The following signature will do:

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

Spring Data JPA supports a large number of keywords to build a query. IN and AND are among them.