web-dev-qa-db-ja.com

複数のin演算子を使用したcrudrepository findByメソッドのシグネチャ?

次のようなエンティティクラスがあります。

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

Crudrepository spring data jpaを使用して以下のクエリのfindByメソッドを書く方法は?

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

私は以下のような春のデータJPAメソッドを期待していますが、どのように構築するのですか?

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

1回のデータベースヒットでメールのリストを取得したい。

56

次の署名があります:

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

Spring Data JPAは、クエリを作成するために多数のキーワードをサポートしています。 INANDはその中にあります

119
Tunaki

これを試して:

@Query("select c from Course c where c.course_id=?1 AND c.module_id IN (?2)");
List<Course> findByCourseIdAndModuleIdIn(Long courseId, List<Long> moduleIds);

またはこれ:

List<Course> findByCourseIdAndModuleIdIn(Long courseId, List<Long> moduleIds);

Spring Data JPAは、クエリを作成するために多数のキーワードをサポートしています。 INとANDはその中にあります。