ProfileというクラスとそのJPAリポジトリProfileRepoがあります。findByメソッドを使用して、名またはミドルネームまたは姓と、containing句を使用して名前を検索しようとしています。
public class Profile{
private String firstName;
private String middleName;
private String lastName;
//getters and setters
}
JPAリポジトリで次のクエリを使用していますが、メソッドを受け入れていません
List<Profile> findByLastNameContainingOrFirstNameContainingOrMiddleNameContainingAllIgnoreCase(String firstName,
String lastName,String midName);
親切に助けてください。
これを試して:
List<Profile> findByFirstNameIgnoreCaseContainingOrLastNameIgnoreCaseContainingOrMidNameIgnoreCaseContaining(String firstName, String lastName, String midName);
またはこれ:
@Query("select p from Profile p where upper(p.firstName) like concat('%', upper(?1), '%') or upper(p.lastName) like concat('%', upper(?2), '%') or upper(p.midName) like concat('%', upper(?3), '%')")
List<Profile> getByNames(String firstName, String lastName, String midName);