java spring data jpa复杂查询使用Specifications和Querydsl哪个更简便,更优雅?

发布于 2022-09-06 15:34:51 字数 147 浏览 15 评论 0

看起来都很难啊,
我就是来抱怨抱怨
specifications又有一堆东西要学,教程好难,英文文档还看不懂,使用起来也不好看,
弄一些乱七八糟有的没的的概念;不好

querydsl又需要maven配置乱七八糟一对东西,为啥就不能简简单单的呢,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

最初的梦 2022-09-13 15:34:51

用到了spring data jpa不想学习Specifications说不过去吧。而且也不难学习啊,学习的东西也并不多啊。

Specification<User> specification = new Specification<User>() {
            @Override
            public Predicate toPredicate(Root<User> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
                List<Predicate> predicateList = new ArrayList<>();
      
                predicateList.add(cb.lessThan(root.<String>get("id"), 10));
           
                Predicate[] pre = new Predicate[predicateList.size()];
                return cb.and(predicateList.toArray(pre));
            }
        };

toPredicate里有了CriteriaQuery,有了CriteriaBuilder ,可以说对jpa规范的实现已经很好了。
英文文档看不懂这是借口,中文的教程也不少了。而且看看源码,也是很容易就理解怎么用了。

这个也许你可以看看https://www.imooc.com/learn/821

感觉你有点畏难,写代码有这种想法很不好。很多人,包括我自己经常做一些东西都是现学现用,相关知识太多了,我没有办法全部都记下来,主要就是靠学习能力来解决问题了。碰到难的东西学起来就会觉得越有意义,因为有很多人会因为难不会而不会。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文