使用 Spring 数据 JPA 进行搜索

Search with Spring Data JPA

我有一个领域对象Item: 项目字段:abc 现实中还有很多领域。

我知道我可以创建如下方法:

但我仍然想知道是否有更好的解决方案:鉴于我可能同时要查询一堆字段,查询 items table 最简单的方法是什么?

如果我有如下所示的方法,有没有办法自动将 != null 字段映射到 SELECT

您可以使用实体管理器创建自定义查询并创建动态查询。为此,您必须使用默认 -1 定义所有变量,您必须在查询中使用它,然后获取所有变量 ache 检查然后如果将添加变量更改为查询并执行它,则值是否更改。

例如

StringBuilder tempQuery = new StringBuilder("select " + select + " FROM 
Area area ");

    // cityId
    if (cityId != -1) {
        tempQuery.append(" and ");
        tempQuery.append(" area.FCity.cityId = :cityId ");
    }
    // rId
    if (rId != -1) {
        tempQuery.append(" and ");
        tempQuery.append(" area.FRestaurantCenter.FRestaurant = :rId ");
    }

    return tempQuery.toString();
 public class Item{
      String a,b,c;
    }


    Item item=new Item();
    item.setA("a");
    Example<Item> itemExample=ExampleOf(item);
    List<Item> res=itemRepository.findAll(example);

来源:Query By Example