jpa之org.springframework.data.jpa.domain.Specification
最近生了场重病,有半年多没写博客了,经历了这么多,发现技术上不用太执著,有些东西明白大致意思就行了,没必要扣得太么细,用多少扣多少就行。人生短暂,要把时间用在更有意义上的事情上。
JPA是JAVA的一套持久层的规范,设计者通过一些接口和方法和基础类,定义了一套完成持久化数据的标准结构
Specification接口主要定义了如何来构造一个查询条件
package org.springframework.data.jpa.domain; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; /** * Specification in the sense of Domain Driven Design. * * @author Oliver Gierke * @author Thomas Darimont */ public interface Specification<T> { /** * Creates a WHERE clause for a query of the referenced entity in form of a {@link Predicate} for the given * {@link Root} and {@link CriteriaQuery}. * * @param root 查询的业务对象 * @param query 定义一个查询的元数据
* @CriteriaBuilder cb 根据元数据构建出查询对象
* @returnPredicate 可以理解成是个简单或者复合的查询条件对象
*/ Predicate toPredicate(Root<T> root, CriteriaQuery<?> query, CriteriaBuilder cb); }
分类:
Spring Boot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)