报错的原因就是,根据你的查询条件存在空对象,也就是没查到。那就仔细检查你写的条件。
我报错是因为,之前的代码用的是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相关推荐

  1. jpa Page 1 of 0 containing UNKNOWN instances错误

    作者:LoveEmperor-王子様 一.问题:Page 1 of 0 containing UNKNOWN instances 这个问题一般是你多个条件查询时,有条件添加进去了,但为空条件: 例: ...

  2. 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 ...

  3. 解决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 ...

  4. 当子查询内存在ORDER BY 字句时查询会报错

    问题:当子查询内存在ORDER BY 字句时查询会报错SQL:SELECT * FROM (SELECT * FROM USER ORDER BY USER_CORD) S.解决办法:在子查询SQL语 ...

  5. 使用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 ...

  6. SQL 新加字段查询窗口报错

    SQL 新加字段查询窗口报错 这是由于SQL Server的intellisense的引起的,intellisense是SQL Server的智能记录智能感知功能,即当给sql表名加上".& ...

  7. 如何解决 使用matplotlib.finance获取雅虎财经网站股票数据 报错?

    人工智能 python,大数据,机器学习,深度学习,计算机视觉 如何解决 使用matplotlib.finance获取雅虎财经网站股票数据 报错? 问题 方法 1.安装 mpl_finance 调用方 ...

  8. SAP MM 执行事务代码VL10B 报错-4501378483 000010 Only 0 CS of material ### available-

    SAP MM 执行事务代码VL10B 报错-4501378483 000010 Only 0 CS of material 5011238 available- 笔者在项目上做一个测试,遇到了一个问题 ...

  9. oracle log block size,案例:Oracle无法启动报错ORA-00218: block size 0 重建控制文件

    天萃荷净 oracle数据库无法启动报错ORA-00218故障,通过重建控制文件解决文件损坏问题 遇到一个案例在数据库启动的时候报ORA-00218错误,而这个故障的引起原因是因为重建控制文件的时候, ...

  10. 使用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 ...

最新文章

  1. Windows10下SSH远程拷贝文件
  2. itext转html为pdf 锚点,ITEXT输出pdf..docx
  3. java基本类型(内置类型)取值范围
  4. 【嵌入式开发】ARM 代码搬移 ( ARM 启动流程 | 代码搬移 起点 终点 | 链接地址 | 汇编代码 )
  5. 不同虚拟机局域网Vlan之间访问
  6. 有逼格的产品经理的工作台长啥样?
  7. SeaweedFS在.net core下的实践方案
  8. python base64编码_JS和Python实现AES算法
  9. 了解JVM运行时的内存分配
  10. 起底方舟编译器的引用计数!
  11. php用vscode开发,VSCode PHP开发
  12. 条形码类型及其字符集和长度的说明
  13. 一个好用的鼠标连点器
  14. 大数据处理平台简介和总结
  15. html页面设计扁平化,50个漂亮的扁平化网页设计欣赏
  16. 北大计算机复试被刷经历,为什么那么多高分被刷?复试真的有黑幕吗?
  17. Macbook 安装VMware专业版
  18. WindowsMessage
  19. Ctrix卸载ReceiverCleanupUtility.exe
  20. Android通知图库更新

热门文章

  1. ipad 邮箱服务器端口,ipad邮箱设置,牛排,YAHOO邮箱(后缀为yahoo
  2. html怎样设置body的背景透明,html,body设置背景色透明
  3. 计算机硬盘根目录是什么,根目录是什么(d盘根目录是什么意思)
  4. sql round函数(case函数)
  5. 基于matlab的单相pwm逆变电路的仿真研究,基于MATLAB的单相PWM逆变电路的仿真研究.pdf...
  6. python爬房源信息_Python爬虫-爬取300个短租网房源信息
  7. Android之——多媒体开发视频格式
  8. 4个基本不等式的公式高中_基本不等式公式四个
  9. 2021 年人工智能全球最具影响力学者榜单 AI 2000 发布
  10. Apktool 使用详解