`
单眼皮大娘
  • 浏览: 111048 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

jpa中查询语句语法

    博客分类:
  • java
jpa 
阅读更多
(转:http://www.toceansoft.com/java/836.jhtml)

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是不一样的。
1. String jpql = "SELECT u FROM User u";//u是User的别名
2. List<User> users = em.createQuery(jpql).getResultList();
3. //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或者正整数。问号?不能写成中文输入法状态下的?
1. String jpql = "SELECT u FROM User u WHERE u.name = ?1";
2. Query query = em.createQuery(jpql);
3. query.setParameter(1, "叶开");//给编号为1的参数设值
4. List<User> users = query.getResultList();
3、使用名字参数查询:
SELECT u FROM User u WHERE u.name = :name 检索参数指定name的User。名字参数格式是::+参数名称,例如::name和:id。注意::和参数名称之间不能有空格,不能写成 : name。冒号:不能写成中文输入法状态下的:
1. String jpql = "SELECT u FROM User u WHERE u.name = :name";
2. Query query = em.createQuery(jpql);
3. query.setParameter("name", "叶开");//给参数"name"设值
4. List<User> users = query.getResultList();
在同一个查询语句中,不能同时使用位置参数和名字参数,只能使用其中一种。
分享到:
评论

相关推荐

    JPA的JPQL语法总结

    JPA的JPQL语法总结,大都是写数据的语法语句

    agile-jpa : spring-data-jpa扩展

    原生动态sql解析支持 依靠agile-sql(动态sql解析器)实现jpa中对sql语法段的动态解析,弥补其在动态sql解析方面的短板。面对复杂查询语句将不再是难点。内置slq分页与jpa分页 JPA风格的Do类对象操作形式分页与原生...

    Spring Data JPA笔记.zip

    JPA 的全称是 Java Persistence API, 即 Java 持久...JPA 的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以 看成是 Hibernate HQL 的等价物。 本文档包含了JPA的课件笔记与学习标注。

    SpringBoot+JPA+Freemarker 生成动态SQL

    SpringBoot+JPA+Freemarker 生成动态SQL,通过Test下的 junit Test运行代码

    EJB3.0查询语句JPQL用法

    EJB3.0查询语句JPQL用法 PQL 和 SQL 有很多相似之处。归根结底,它们都用于访问和操作数据库数据。而且,二者都使用非过程语句 — 通过特殊解释程序识别的命令。此外,JPQL 在语法上与 SQL 也相似。 JPQL 和 SQL 的...

    mybatis语法增强框架, 综合了mybatis plus, danymic sql, jpa等框架特性和优点生成代码.zip

    在Mabits中,动态SQL通常是通过使用一组特殊的标签和代码块来实现的,这些标签和代码块可以根据条件包含或排除不同的部分,从而生成不同的SQL语句。动态SQL可以让开发者构建更灵活、高效的数据库操作语句,因为他们...

    基于JPQL实现纯SQL语句方法详解

    基于首次在EJB2.0中引入的EJB查询语言(EJB QL),Java持久化查询语言(JPQL)是一种可移植的查询语言,旨在以面向对象表达式语言的表达式,将SQL语法和简单查询语义绑定在一起·使用这种语言编写的查询是可移植的,可以...

    antlr-2.7.5H3.jar和antlr-2.7.6rc1.jar

    JPA标准中,面向对象的语法检查、识别: 如JPA 实现Hibernate中用到hql语句:from Person p 到数据库的时候它会转换成select * from person;

    支持多数据库的ORM框架ef-orm.zip

    JPA 2.0为了弥补JPA1.0的不足,才将这种Query的思想引入为框架中的另一套查询体系——Criteria API。事实上针对单个对象的get/load/persist/save/update/merge/saveOrUpdate API和Criteria API本来就为一体,只不过...

    Java-Interview-Offer

    java基础语法 面向对象 java数组 高级类特性 接口与抽象类 内部类 枚举 JavaAPI 包装类 细绳 集合 迭代器 馆藏 IO流 多线程 线程的创造 线程的生命周期 线程的同步 死锁 新特性 网络编程 网络通信协议 TCP协议与UDP...

    Hibernate注释大全收藏

    通过下面语法,你可以定义组合键。 • 将组件类注解为 @Embeddable, 并将组件的属性注解为 @Id • 将组件的属性注解为 @EmbeddedId • 将类注解为 @IdClass,并将该实体中所有主键的属性都注解为 @Id @Entity @Id...

    Java/JavaEE 学习笔记

    第四章 PL/SQL中的控制语句........368 第五章 PL/SQL游标........................370 第六章 PL/SQL异常........................373 第七章 PL/SQL存储过程................374 第八章 PL/SQL包.380 第九章 PL/...

    J2EE学习笔记(J2ee初学者必备手册)

    第四章 PL/SQL中的控制语句........368 第五章 PL/SQL游标........................370 第六章 PL/SQL异常........................373 第七章 PL/SQL存储过程................374 第八章 PL/SQL包.380 第九章 PL/...

Global site tag (gtag.js) - Google Analytics