JPA查询数据,报错Page 1 of 0 containing UNKNOWN instances
报错的原因就是,根据你的查询条件存在空对象,也就是没查到。那就仔细检查你写的条件。
我报错是因为,之前的代码用的是cb.equal(root.get(“userName”), res.getName()),也就是绝对查询。我把之前的代码直接复制过来的,但现在想改成模糊查询,cb.equal(root.get(“userName”), “%” + res.getName().trim() + “%”),这里可以看到,我只把参数值改成模糊查询了,但条件还是用的equal绝对查询,就报错了,我找了半个多小时才发现,后来改成cb.like(root.get(“userName”), “%” + res.getName().trim() + “%”)就可以了。
Specification<TUser> specification = (root, query, cb) -> {List<Predicate> predicates = Lists.newArrayList();predicates.add(cb.or(cb.equal(root.get("role"), StateEnum.ecgDoctor.name()), cb.equal(root.get("role"), StateEnum.intern.name())));//添加姓名条件if (res.getName() != null) {predicates.add(cb.like(root.get("userName"), "%" + res.getName().trim() + "%"));}if (res.getPhoneno() != null) {predicates.add(cb.like(root.get("phone"), "%" + res.getPhoneno().trim() + "%"));}return cb.and(predicates.toArray(new Predicate[predicates.size()]));};
总结,以后如果用绝对查询,就这样写
//添加姓名条件
if (res.getName() != null) {predicates.add(cb.equal(root.get("userName"), res.getName().trim()));
}
模糊查询就这样写:
//添加姓名条件
if (res.getName() != null) {predicates.add(cb.equal(root.get("userName"), "%" + res.getName().trim() + "%"));
}
这样就不会错了。
另外注意,JPA里面的分页,page是从0开始的,还有就是root.get(“属性”),这个属性名是实体类里面的名字,是这个private String userName,这个@Column(name = “user_name”)是数据库的名字,不要搞混了。
@Column(name = "user_name")
private String userName;
JPA查询数据,报错Page 1 of 0 containing UNKNOWN instances相关推荐
- jpa Page 1 of 0 containing UNKNOWN instances错误
作者:LoveEmperor-王子様 一.问题:Page 1 of 0 containing UNKNOWN instances 这个问题一般是你多个条件查询时,有条件添加进去了,但为空条件: 例: ...
- go mod报错at revision v0.0.6: unknown revision v0.0.6
mac版解决方法(windows同理) 1.1 找到.gitconfig vim ~/.gitconfig 1.2 增加相关标签 [url "git@domain:"] inste ...
- 解决Spring Spring Data JPA 错误: Page 1 of 1 containing UNKNOWN instances
解决Spring Spring Data JPA 错误: Page 1 of 1 containing UNKNOWN instances SpringBoot 整合 Spring-Data-JPA ...
- 当子查询内存在ORDER BY 字句时查询会报错
问题:当子查询内存在ORDER BY 字句时查询会报错SQL:SELECT * FROM (SELECT * FROM USER ORDER BY USER_CORD) S.解决办法:在子查询SQL语 ...
- 使用np.load()加载数据 报错 Object arrays cannot be loaded when allow_pickle=False
使用np.load()加载数据 报错 Object arrays cannot be loaded when allow_pickle=False https://blog.csdn.net/weix ...
- SQL 新加字段查询窗口报错
SQL 新加字段查询窗口报错 这是由于SQL Server的intellisense的引起的,intellisense是SQL Server的智能记录智能感知功能,即当给sql表名加上".& ...
- 如何解决 使用matplotlib.finance获取雅虎财经网站股票数据 报错?
人工智能 python,大数据,机器学习,深度学习,计算机视觉 如何解决 使用matplotlib.finance获取雅虎财经网站股票数据 报错? 问题 方法 1.安装 mpl_finance 调用方 ...
- SAP MM 执行事务代码VL10B 报错-4501378483 000010 Only 0 CS of material ### available-
SAP MM 执行事务代码VL10B 报错-4501378483 000010 Only 0 CS of material 5011238 available- 笔者在项目上做一个测试,遇到了一个问题 ...
- oracle log block size,案例:Oracle无法启动报错ORA-00218: block size 0 重建控制文件
天萃荷净 oracle数据库无法启动报错ORA-00218故障,通过重建控制文件解决文件损坏问题 遇到一个案例在数据库启动的时候报ORA-00218错误,而这个故障的引起原因是因为重建控制文件的时候, ...
- 使用fswebcam报错Error selecting input 0 VIDIOC_S_INPUT: Device or resource busy或者使用metion监控,画面为灰色
一,BUG解决 不知道大家使用树莓派的时候,有没有遇到过使用fswebcam报错Error selecting input 0 VIDIOC_S_INPUT: Device or resource b ...
最新文章
- Windows10下SSH远程拷贝文件
- itext转html为pdf 锚点,ITEXT输出pdf..docx
- java基本类型(内置类型)取值范围
- 【嵌入式开发】ARM 代码搬移 ( ARM 启动流程 | 代码搬移 起点 终点 | 链接地址 | 汇编代码 )
- 不同虚拟机局域网Vlan之间访问
- 有逼格的产品经理的工作台长啥样?
- SeaweedFS在.net core下的实践方案
- python base64编码_JS和Python实现AES算法
- 了解JVM运行时的内存分配
- 起底方舟编译器的引用计数!
- php用vscode开发,VSCode PHP开发
- 条形码类型及其字符集和长度的说明
- 一个好用的鼠标连点器
- 大数据处理平台简介和总结
- html页面设计扁平化,50个漂亮的扁平化网页设计欣赏
- 北大计算机复试被刷经历,为什么那么多高分被刷?复试真的有黑幕吗?
- Macbook 安装VMware专业版
- WindowsMessage
- Ctrix卸载ReceiverCleanupUtility.exe
- Android通知图库更新
热门文章
- ipad 邮箱服务器端口,ipad邮箱设置,牛排,YAHOO邮箱(后缀为yahoo
- html怎样设置body的背景透明,html,body设置背景色透明
- 计算机硬盘根目录是什么,根目录是什么(d盘根目录是什么意思)
- sql round函数(case函数)
- 基于matlab的单相pwm逆变电路的仿真研究,基于MATLAB的单相PWM逆变电路的仿真研究.pdf...
- python爬房源信息_Python爬虫-爬取300个短租网房源信息
- Android之——多媒体开发视频格式
- 4个基本不等式的公式高中_基本不等式公式四个
- 2021 年人工智能全球最具影响力学者榜单 AI 2000 发布
- Apktool 使用详解