Java 使用JPA的复杂查询

Java 使用JPA的复杂查询,java,mysql,sql,jpa,Java,Mysql,Sql,Jpa,我有一个mySQL数据库,按邮政编码存储城市信息,包括狗和猫的数量。我想查询数据库中所有狗的数量高于猫的邮政编码,并按降序排列结果 我正在使用JpaRepository类,并且已经了解了如何创建简单的查询,例如findBypoulation(int population),但是JPA是否能够创建我需要的复杂查询?您可以使用它来构建复杂查询 我不确定你们的关系,但根据我的理解。下面的代码应该会有帮助 public static Specification<City> isDogsGr

我有一个mySQL数据库,按邮政编码存储城市信息,包括狗和猫的数量。我想查询数据库中所有狗的数量高于猫的邮政编码,并按降序排列结果

我正在使用JpaRepository类,并且已经了解了如何创建简单的查询,例如
findBypoulation(int population)
,但是JPA是否能够创建我需要的复杂查询?

您可以使用它来构建复杂查询

我不确定你们的关系,但根据我的理解。下面的代码应该会有帮助

 public static Specification<City> isDogsGreaterThanCats() {

return (root, query, cb) ->{ 

        return cb.greaterThan(root.get(dog_count), root.get(cat_count));

};

我建议在回购协议中添加一个本机查询

@Query(value="",nativeQuery = true)
findByPopulation(@Param("population") int population);

value=”“

数据库结构中添加复杂查询?
@Query(value="",nativeQuery = true)
findByPopulation(@Param("population") int population);