首页 > 作文

全面解析JPA 仓库repository中的findAll()方法

更新时间:2023-04-05 20:47:54 阅读: 评论:0

解析jpa仓库re星罗棋布是什么意思pository的findall()方法

源码

(1) specification spec 对象

(2) pageable pageable 对象

下面是findall()实现类

getquery(spec,pageable)方法作用

返回一个指定操作表,指定返回项,指定排序方式,指定查询条件的query对象

1.其中getdomainclass()作用

returns the actual domain class type. 也就是数据表对应的实体类

2.执行getquery方法

其中em是entitymanager对象,用来获取criteriabuilder 实例(参考链接criteriabuilder动态构造查询)

criteriabuilder :可以用于创建criteriaquery、criteriaupdate和criteriadelete等createquery:hibernate的sql操作方法,用来生成一个基于 hql 查询字符串的 query 对象,domainclass指的是表对应的实体类

2.1 applyspecificationtocriteria(…)方法:

将specification中生成的predicate应用于criteria

spec.topredicate(…)方法,是spec实例调用spec类中的topredicate(),获取查询条件。

where()源码翻译:

query.where(predicate)作用,根据predicate(查询条件的集合)修改query限制查询结果(如果之前有条件限制,会自动替换),如果此次没有添加任何限制,之前的条件限制会被移除(也就是说,条件限制会覆盖),这里的where()重写了abstractquery接口中where(),predicate条件可以为空也可惰性气体有哪些以是多个,返回结果是the modified query

2.2 回到getquery方法中

query.lect():指定要在查询结果中返回的项(覆盖,若之前有所指定,则覆盖),这里指定返回项是表对应的实体类,返回结果是the modified queryquery.orderby防钓鱼():修改排序规则,返回结果也是the modified query,这里不对 toorders过多的即使em.createquery(query):创建typedquery 实例,用来执行executing a criteria query

执行查询语句,返回结果集(不做详细分析)

query.getresultlist():返回查询结果(相当于hibernate中list()方法执行hql,返回结果)getresultlist():方法会调用dolist()方法

这个方法中会生成sql语句expandequery:

jpa repository的findone正确写法和findall

以上为个人经验,希望能给大家一个参考,也希望大家多湘潭景点多支持www.8875什么的秋天51.com。

本文发布于:2023-04-05 20:47:52,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/52d47141112ea3eceebd06ada32763fd.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:全面解析JPA 仓库repository中的findAll()方法.doc

本文 PDF 下载地址:全面解析JPA 仓库repository中的findAll()方法.pdf

标签:方法   条件   对象   查询结果
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图