web-dev-qa-db-de.com

findBy-Methodensignatur der crudrepository mit mehreren Operatoren?

Ich habe eine Entity-Klasse wie diese:

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

Wie schreibe ich die findBy-Methode für die unten stehende Abfrage mit Crudrepository-Spring-Daten jpa?

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

Ich erwarte die Frühjahrsdaten-jpa-Methode wie unten, aber wie soll ich sie konstruieren?

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

Ich möchte eine Liste von E-Mails in einem einzigen Datenbank-Treffer abrufen.

41

Die folgende Unterschrift reicht aus:

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

Spring Data JPA unterstützt eine große Anzahl von Schlüsselwörtern zum Erstellen einer Abfrage. IN und AND sind unter ihnen .

95
Tunaki

Versuche dies:

@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);

Oder dieses:

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

Spring Data JPA unterstützt eine große Anzahl von Schlüsselwörtern zum Erstellen einer Abfrage. IN und AND gehören dazu.