首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用JPA的复杂查询

问使用JPA的复杂查询
EN

Stack Overflow用户
提问于 2019-12-17 09:05:00
回答 2查看 47关注 0票数 0

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

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

EN

回答 2

Stack Overflow用户

发布于 2019-12-17 15:13:37

您可以使用Spring JPA Specification构建复杂的查询。

我对你们的关系不太确定,但据我所知。下面的代码应该是有帮助的。

代码语言:javascript
复制
 public static Specification<City> isDogsGreaterThanCats() {

return (root, query, cb) ->{ 

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

};

Repo方法调用将类似于

代码语言:javascript
复制
cityRepository.findAll(isDogsGreaterThanCats());
票数 1
EN

Stack Overflow用户

发布于 2019-12-17 15:40:21

我建议将原生查询添加到存储库。

代码语言:javascript
复制
@Query(value="",nativeQuery = true)
findByPopulation(@Param("population") int population);

在value=""中添加复杂查询

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59366270

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档