`

JPA的查询语言—JPQL的简单查询

    博客分类:
  • JPA
jpa 
阅读更多
http://www.cnblogs.com/luxh/archive/2012/05/31/2529233.html

  JPQL:Java持久化查询语言,以面向对象的查询语法构造查询语句。
  JPA使用javax.persistence.Query接口代表一个查询实例,Query实例由EntityManager通过指定查询语句构建。
  以下程序中的em是EntityManager的一个实例,使用注入或通过 EntityManagerFactory 实例显式获取一个 EntityManager 实例。
  1、一个基本的查询:
  SELECT u FROM User u 检索所有的User。u是User的别名。注意:关键字不区分大小写,例如:SELECT和select是一样的,但是实体的名称和实体的字段是区分大小写的,例如:User和user是不一样的。

String jpql = "SELECT u FROM User u";//u是User的别名
List<User> users =  em.createQuery(jpql).getResultList();
//List<User> users = em.createQuery(jpql, User.class).getResultList();//用User.class指定返回的类
  2、使用位置参数查询:
  SELECT u FROM User u WHERE u.name = ?1 检索参数指定name的User。位置参数格式是:?+位置编号,例如:?1和?2。注意:?和位置编号之间不能有空格,不能写成 ? 1,位置编号可以是0或者正整数。问号?不能写成中文输入法状态下的?。

String jpql = "SELECT u FROM User u WHERE u.name = ?1";
Query query = em.createQuery(jpql);
query.setParameter(1, "叶开");//给编号为1的参数设值
List<User> users = query.getResultList();
  3、使用名字参数查询:
  SELECT u FROM User u WHERE u.name = :name 检索参数指定name的User。名字参数格式是::+参数名称,例如::name和:id。注意::和参数名称之间不能有空格,不能写成 : name。冒号:不能写成中文输入法状态下的:。

String jpql = "SELECT u FROM User u WHERE u.name = :name";
Query query = em.createQuery(jpql);
query.setParameter("name", "叶开");//给参数"name"设值
List<User> users = query.getResultList();
  
  在同一个查询语句中,不能同时使用位置参数和名字参数,只能使用其中一种。
  
分享到:
评论

相关推荐

    JPA 动态查询 Criteria JPQL 语法详解

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

    09_JPA详解_使用JPQL语句进行查询.zip

    **JPQL(Java Persistence Query Language)**是JPA的一部分,它是面向对象的查询语言,类似于SQL,但专门用于处理JPA实体。JPQL允许开发者用面向对象的方式来构建查询,而不是直接写SQL,这使得代码更易于理解和...

    介绍jpa和jpql

    JPA的核心概念包括实体(Entity)、实体管理器(EntityManager)、持久化上下文(Persistence Context)和查询语言JPQL等。实体是对数据库表进行映射的Java对象。实体管理器是管理实体生命周期的对象,负责处理实体...

    JPA JPQL常用

    JPQL(Java Persistence Query Language)是JPA的一部分,它是一种面向对象的查询语言,类似于SQL,但专为ORM(Object-Relational Mapping)设计。JPQL允许开发者以对象的方式查询数据库,处理对象关系映射的复杂性...

    JPA的JPQL语法总结

    Java Persistence Query Language(JPQL)是Java Persistence API(JPA)中用于执行查询的一种语言。它与SQL非常相似,但更加面向对象,允许开发者使用实体类而不是表来编写查询语句。JPQL支持多种查询类型,包括...

    09_传智播客JPA详解_使用JPQL语句进行查询

    **JPQL(Java Persistence Query Language)**是JPA中的查询语言,类似于SQL,但它是面向对象的,用来查询和操作持久化实体。与SQL不同的是,JPQL主要处理对象,而不是数据库表。在本课程"09_传智播客JPA详解_使用...

    JPA查询语言[归类].pdf

    **JPA查询语言详解** Java Persistence API(JPA)是一种标准的Java库,用于管理和持久化Java对象到关系数据库。JPA提供了强大的查询语言——Java Persistence Query Language(JPQL),它允许开发者通过面向对象的...

    JPA之使用JPQL语句进行增删改查

    JPQL是一种基于SQL的查询语言,用于操作逻辑上的实体模型而非物理的数据模型。JPQL语句可以用来检索实体和来自数据库的其他持久化数据。JPQL语句的基本结构包括select子句、from子句、where子句、order by子句等。 ...

    jpa查询语言.pdf

    **JPA查询语言(JPQL)**是Java Persistence API中的一个核心特性,它提供了一种面向对象的查询语言,用于在Java应用程序中检索和操作持久化实体。JPQL类似于SQL,但设计的目标是与对象模型更紧密地集成,而不是直接...

    jpa查询详解

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

    EJB3.0查询语句JPQL用法

    JPQL是一种声明式查询语言,专门用于处理Java持久化API(JPA)中的实体对象。与SQL类似,JPQL允许开发者通过非过程式的语句来查询、更新和删除数据,但它主要关注的是对象而非数据库表。JPQL允许开发者以面向对象的...

    EJB3查询JPQL解析

    Java Enterprise Edition (Java EE) 中的EJB 3.0引入了Java持久性查询语言(JPQL),这是一种专为访问和导航Java应用程序中的实体实例设计的语言。JPQL是对早期EJB QL的扩展和改进,它允许开发者以面向对象的方式来...

    JPA加载_更新_删除对象及使用JPQL语句进行查询

    现在,我们转向JPQL,它是JPA提供的面向对象的查询语言,类似于SQL,但更加抽象和面向对象。JPQL可以用来查询、更新和删除数据。例如,以下是一个简单的JPQL查询示例: ```java String query = "SELECT u FROM User...

    一个基于原生Java代码查询方式的JPA查询框架.zip

    描述中的“基于原生Java代码查询方式”意味着这个框架强调使用Java编程语言本身来编写查询,而不是使用特定的查询语言如HQL或JPQL(Java Persistence Query Language)。这种方式的好处在于,对于熟悉Java的开发者来...

    JPA 资料大集合

    JPA的查询语言JPQL,用于在对象层面上执行复杂的查询操作;以及JPA的基础教程,全面教授如何在实际开发中运用JPA进行数据操作。这些资料将帮助开发者深入理解和熟练应用JPA,提升Java应用的数据管理能力。

    JPA标记语言所需要的jar包

    6. **JPA Query Language (JPQL)**:JPA提供了一种面向对象的查询语言,类似于SQL,但更关注于对象而非表格。JPQL允许开发者用Java类和属性来编写查询,而不是直接使用数据库表和列。 7. **Criteria API**:除了...

    jpa例子jpajpa

    JPQL是一种面向对象的查询语言,类似SQL,但操作的是实体而不是数据库表。Criteria API则提供了一个更强大且类型安全的查询构建方式。 5. **事务管理(Transaction)**: 在JPA中,事务是通过`EntityManager`进行...

    李勇JPA快速入门05_jpa中的查询

    Java Persistence Query Language(JPQL)是JPA提供的面向对象的查询语言,类似于SQL但更专注于对象模型。通过JPQL,开发者可以对实体进行检索、更新和删除操作。例如,查询所有用户可以写成:"SELECT u FROM User ...

    JPA Demo 简单的了解下jpa

    **JPA查询语言(JPQL)** JPA提供了自己的查询语言——Java Persistence Query Language(JPQL),类似于SQL,但更面向对象。例如,以下JPQL查询返回所有用户: ```java String query = "SELECT u FROM User u"; ...

Global site tag (gtag.js) - Google Analytics