Spring Data - ignore parameter if it has a null value

前端 未结 9 1528
暖寄归人
暖寄归人 2020-11-29 03:59

I want to have a spring data repository interface that takes two parameters. Is there a way to make it have the following behaviour?

MyObject findByParameter         


        
9条回答
  •  無奈伤痛
    2020-11-29 04:22

    I am not sure if its possible using Repo as a separate class but you can use StringBuilder append query with option parameter. This will definitely work

     StringBuilder queryBuilder = new StringBuilder();
        queryBuilder.append("select p.name from personDemographic p "); 
        Boolean flag = true;
        if(parameterOne != null){
          if(flag){
              queryBuilder.append("where condition...");
                flag=false;
            } 
          }
        if(parameterOne != null){
        if(flag){
         queryBuilder.append("where condition...");
         flag = false;
        }else{
          queryBuilder.append("and condition...");
        }
       Query query = entityManager.createQuery(queryBuilder.toString());
    

提交回复
热议问题