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); }
复制代码

 

posted @   杭州胡欣  阅读(295)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示