簡體   English   中英

什么是對多個字段使用findBy的Spring Data JPA方法,並對所有字段使用Containing子句

[英]What is the Spring Data JPA method to use findBy for multiple fields and also use Containing clause for all the fields

我有一個名為Profile的類及其JPA存儲庫ProfileRepo我正在嘗試使用findBy方法使用名字或中間名或姓氏以及使用contains子句查找名稱。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM