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.
Crud Repository doesn't provide methods for implementing pagination and sorting. JpaRepository ties your repositories to the JPA persistence technology so it should be avoided. We should use CrudRepository or PagingAndSortingRepository depending on whether you need sorting and paging or not.
CrudRepository extends Repository interface whereas JpaRepository extends PagingAndSortingRepository and QueryByExampleExecutor interface. PagingAndSortingRepository further extends CrudRepository only.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With