`
bewithme
  • 浏览: 429979 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jpa CriteriaQuery exists 查询

 
阅读更多

  

   原文

   https://stackoverflow.com/questions/13859780/building-a-query-using-not-exists-in-jpa-criteria-api

 

SELECT table1 
FROM   table1 table1 
WHERE  NOT EXISTS (SELECT table2 
                   FROM   table2 table2 
                   WHERE  table2.name = table1.name 
                          AND table2.education = table1.education 
                          AND table2.age = table1.age) 
       AND table1.name = 'san' 
       AND table1.age = '10'; 

 

    以上SQL用CriteriaQuery 可以表示如下

 

CriteriaBuilder cb = mediationEntityManager.getCriteriaBuilder();
CriteriaQuery<Table1>  cq = cb.createQuery(Table1.class);
Root<Table1> table1 = cq.from(Table1.class);
cq.select(table1)

Subquery<Table2> subquery =  cq.subquery(Table2.class)
Root table2 = subquery.from(Table2.class)
subquery.select(table2)
cq.where(cb.not(cb.exists(subquery)))
TypedQuery<Table1> typedQuery = mediationEntityManager.createQuery(cq); 
List<Table1> resultList = typedQuery.getResultList();

有任何问题请联系微信 如果您觉得我的文章给了您帮助,请为我买一杯饮料吧!以下是我的支付宝,意思一下我将非常感激!

 


有任何问题请联系微信 

如果您觉得我的文章给了您帮助,请为我买一杯饮料吧!以下是我的支付宝,意思一下我将非常感激!
  

 

分享到:
评论

相关推荐

    JPA查询实例解析,jpa Query查询

    Jpa详细查询实例介绍,教你如何使用JPA,简单,分类实例。

    JPA复杂查询加分页查询的快速开发

    JPA复杂查询加分页查询的快速开发 JPA(Java Persistence API)是 Java 的持久层 API,用于访问、持久化数据。使用 JPA,可以快速开发复杂查询,实现高效的数据访问。下面是 JPA 复杂查询加分页查询的快速开发知识...

    让JPA的Query查询接口返回Map对象的方法

    让JPA的Query查询接口返回Map对象的方法 JPA(Java Persistence API)是一种java持久层标准,提供了统一的数据访问机制。其中的Query查询接口是我们常用的数据查询方式。然而,在JPA 2.0中,使用entityManager....

    springboot结合jpa实现分页,动态多条件查询

    在本文中,我们将深入探讨如何在Spring Boot项目中利用Java Persistence API (JPA) 实现分页和动态多条件查询,并结合Thymeleaf模板引擎展示数据。Spring Boot以其简化配置和快速启动的优势,已经成为现代Java开发的...

    JPA分页查询与条件分页查询

    `CriteriaQuery`和`CriteriaBuilder`是JPA提供的API,用于构建HQL(Hibernate Query Language)表达式,这使得我们可以在运行时构建灵活的查询。 在实际应用中,你可能会遇到更多复杂的查询需求,例如嵌套的分页...

    spring data jpa 的Specifications动态查询

    在处理复杂的查询需求时,Spring Data JPA的`Specifications`接口提供了动态构建查询的能力,允许我们在运行时根据业务逻辑创建复杂的查询条件。 ### 单条件查询 在Spring Data JPA中,我们可以使用`...

    优秀实践分享 Spring Data JPA2

    JPA 使用@Query注解实现JPQL和本地自定义查询 JPA API 条件查询 (子查询,多表连接查询) JPA结合QueryDSL轻松完成复杂查询(自连接,多表连接查询) 参与文档: Pro JPA2中文版:精通Java持久化API 优秀博文读书笔记: ...

    SpringDataJpa 动态复杂查询NativeQuery

    SpringDataJpa 动态复杂查询NativeQuery emm挺长时间没更新了,最近在忙项目,外加搬家,后续会继续更新 遇到一个复杂的sql查询,在不通过外键关联的情况下,只能选择使用原生sql的方式查询,但是遇到一个极其XX的...

    kotlin-jpa-specification-dsl:该库提供了流利的DSL,用于使用spring数据规范(即JPA Criteria API)查询spring数据JPA存储库,而无需样板代码或生成的元模型

    为了解决这一问题,kotlin-jpa-specification-dsl应运而生,它提供了一种流畅的领域特定语言(DSL),使得利用Spring Data JPA的Criteria API进行查询变得更加简单和直观。 Spring Data JPA是Spring Framework的一...

    JPA 动态查询 Criteria JPQL 语法详解

    JPQL(Java Persistence Query Language)是一种强大的查询语言,它在 JPA 1.0 中被引入。但是,基于字符串并使用有限语法的 JPQL 存在一些限制。JPQL 查询字符串的语法有误时,Java 编译器不能发现这种错误,只有在...

    Spring Data JPA中的动态查询实例

    Criteria API 中的 `CriteriaQuery` 接口是一个特定的顶层查询对象,用于表示整个查询的结构。你可以通过它来指定 SELECT 子句、FROM 子句、WHERE 条件、GROUP BY 子句和 ORDER BY 子句。而 `Root&lt;T&gt;` 接口则代表了...

    spring data jpa分页查询示例代码

    Spring Data JPA 提供了多种方式来实现分页查询,包括使用 `Pageable`、`Specification` 和 `CriteriaQuery` 等。 使用 Pageable 实现分页查询 使用 `Pageable` 是 Spring Data JPA 中最简单的分页查询方式。可以...

    扩展MyBatis JPA支持,简化CUID操作,增强SELECT分页查询

    扩展MyBatis JPA支持,简化CUID操作,增强SELECT分页查询。MyBatis JPA Extra对MyBatis扩展JPA功能:Jakarta JPA 3注释简化CUID操作;...链式Query查询条件构造器;提供starter,简化SpringBoot集成;数据库支持

    jpa例子jpajpa

    4. **查询(Query)**: JPA提供了两种查询方式:JPQL(Java Persistence Query Language)和 Criteria API。JPQL是一种面向对象的查询语言,类似SQL,但操作的是实体而不是数据库表。Criteria API则提供了一个更强大...

    jpa查询详解

    JPQL(Java Persistence Query Language)是 JPA 中的一种查询语言,用于书写面向对象的查询语句。JPQL 查询可以用于检索、更新和删除数据。例如,在上面的示例代码中,我们使用了 JPQL 查询来检索 Person 实体: `...

    jpa单表递归树形结构实现

    通过定义自关联的实体类、配置JPA仓库以及编写适当的查询方法,可以轻松地实现对树形数据的CRUD操作。在实际应用中,还需考虑性能优化,如分页加载、懒加载等策略,以避免大量数据导致的效率问题。

    Springboot中使用JPA操作数据库

    同时,Spring Data JPA还支持分页查询、排序、自定义复杂查询等高级功能,使得数据库操作更加灵活高效。在实际项目中,结合其他Spring Boot特性,如RESTful API、事务管理等,可以构建出强大的后端服务。

    在JPA的@Query注解中使用limit条件(详解)

    在 JPA 中,我们可以使用 @Query 注解来定义查询语句。在查询语句中,我们可以使用 Limit 条件来限制查询结果的数量。例如,我们可以使用以下方式来定义查询语句: ```java @Query("SELECT m FROM Misaka m WHERE m...

    ibatis3中使用jpa的方法进行查询

    开发者可以在Mapper接口中定义方法,并使用JPA的注解(如@Query、@Param等)来指定SQL查询。这样,既保留了Ibatis的灵活性,又利用了JPA的简便性。 例如,你可以创建一个Mapper接口: ```java public interface ...

    springboot+jpa+swagger 动态查询

    Specification接口则是Spring Data JPA自带的一种动态查询方式,开发者可以通过组合多个Specifications来构建复杂的查询条件。 具体到这个"demo3"项目,我们可以预期它可能包含以下部分: 1. Spring Boot的主配置类...

Global site tag (gtag.js) - Google Analytics