Atitit oodbms的查询,面向对象的sql查询jpa jpql hql

1.1. 标准API历史1

1.2. JPA定义了独特的JPQL(Java Persistence Query Language) 可媲美JDBC的查询能力  1

1.3. 操作api1

1.4. Hql2

1.1. 标准API历史

该标准被纳入因此标准的每一步中JPA的规范通知所有版本JPA。

在JPA2.0中,标准查询API,查询的标准化开发。

在JPA2.1,标准更新和删除(批量更新和删除)都包括在内

1.2. JPA定义了独特的JPQL(Java Persistence Query Language) 可媲美JDBC的查询能力

JPA的查询语言是面向对象而非面向数据库的,它以面向对象的自然语法构造查询语句,可以看成是hibernate HQL的等价物。

JPA定义了独特的JPQL(Java Persistence Query Language),JPQL是EJB QL的一种扩展,它是针对实体的一种查询语言,操作对象是实体,而不是关系数据库的表,而且能够支持批量更新和修改、JOIN、GROUP BY、HAVING 等通常只有 SQL 才能够提供的高级查询特性,甚至还能够支持子查询。

1.3. 操作api

添加 em.persist(user);

User user = em.find(User.class, id);

1.  List<User> users = em.createQuery("select u from User u")

2.                 .getResultList();

1.4. Hql

参考

JPQL_百度百科.html

JPQL语法总结 - calmJava - BlogJava.html

JPQL查询语句(Java Presistence Query Language)(转) - - ITeye技术网站.html

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )

汉字名:艾提拉(艾龙),   EMAIL:[email protected]

转载请注明来源: http://www.cnblogs.com/attilax/

Atiend

时间: 2024-11-10 04:35:48

Atitit oodbms的查询,面向对象的sql查询jpa jpql hql的相关文章

Hibernate 函数 ,子查询 和原生SQL查询

一. 函数 聚合函数:count(),avg(),sum(),min(),max() 例:(1)查询Dept表中的所有的记录条数. String hql=" select count(*) from Dept "; Long count=(Long)session.createQuery(hql).uniqueResult(); 当不确定返回的是什么类型的时候可以根据:变量名.getClass()方法得到类型 例如:count.getClass()  返回的是:java.lang.Lo

Rest数据服务查询类-根据sql查询

Rest数据服务查询类 需要iserver data服务支持,但请求的时候,不依赖SuperMap js lib包. 构造函数:QueryById=function(p_params): p_params={}; 具体参数描述如下: p_params.url; // http://127.0.0.1:8090/iserver/services/data-China400/rest/data/featureResults.json p_params.dataSets; // world:capti

sqlserver查询分析器创建sql查询日志

USE [master]GO /****** Object: Audit [ServerAuditDB] Script Date: 2016-04-28 16:02:58 ******/CREATE SERVER AUDIT [ServerAuditDB]TO FILE ( FILEPATH = N'E:\ServerAuditDB\' ,MAXSIZE = 0 MB ,MAX_ROLLOVER_FILES = 2147483647 ,RESERVE_DISK_SPACE = OFF)WITH(

Hibernate 关于执行sql查询语句(转)

原文  http://www.yshjava.cn/post/543.html 主题 SQLHibernate Hibernate对原生SQL查询的支持和控制是通过SQLQuery接口实现的.通过Session接口,我们能够很方便的创建一个SQLQuery(SQLQuery是一个接口,在Hibernate4.2.2之前,默认返回的是SQLQuery的实现类--SQLQueryImpl对象,在下文中出现的SQLQuery如非注明,都是指该子类)对象来进行原生SQL查询: session.creat

MariaDb SQL查询性能 注意事项

where,on和order by指定的字段要有索引 复杂计算的结果应在生成后写入 而不是每次读取时计算,除非写的成本大于读 除了分页以外 避免出现count(*)的情况 count数据用一个count字段在写入时累加 判断是否存在使用有短路机制的exists()函数 避免出现使用sum()的情况,应建立单独的表写入时累加相应结果 任何情况下都应该避免使用not in(),应使用in().exists().not exists()和union查询代替 in()当中不能包含SQL查询,如果需要包含

hibernate sql查询

如果你跟我一样比较熟悉SQL,同时不想学习一门新的语言.那么在hibernate中使用Native SQL 查询也是一种不错的方式. 一方面,Native SQL在效率方面有天生的优势: 另一方面,SQL是数据库操作的一种标准,我们与程序.数据库关联很小.如果将来不用hibernate,而是用别的ORM,sql一样好用. 但尽量用标准SQL,而不要用过多方言SQL. 标量查询 最基本的 SQL 查询就是获得一个标量(数值)的列表. sess.createSQLQuery("SELECT * FR

【T-SQL进阶】02.理解SQL查询的底层原理

本系列[T-SQL]主要是针对T-SQL的总结. T-SQL基础 [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础]04.表表达式-上篇 [T-SQL基础]04.表表达式-下篇 [T-SQL基础]05.集合运算 [T-SQL基础]06.透视.逆透视.分组集 [T-SQL基础]07.数据修改 [T-SQL基础]08.事务和并发 [T-SQL基础]09.可编程对象 T-SQL进阶 [T-SQL进阶]01.好用的SQ

hibernate使用原生SQL查询返回结果集的处理

今天没事的时候,看到公司框架里有一个用原生SQL写的函数,说实在以前自己也干过这事,但好久都没有用,都忘得差不多了,现在基本都是用的hql语句来查询结果.hibernate中使用createSQLQuery拉来来实现SQL语句的查询,具体用法:session.createSQLQuery(sql),对于用SQL返回的结果集是一个什么样的结果集都毫无记忆.自己查了下,才知道,原来是返回一个Object类型数组的list集合,而其中Object类型的数组里的值则与sql语句中的查询项相对应,如果是s

SQL查询效率:100w数据查询只需要1秒钟

内存: 4 G os: windows 2003 数据库: ms sql server 2008 目的: 查询性能测试,比较两种查询的性能 SQL查询效率 step by step -- setp 1. -- 建表 create table t_userinfo ( userid int identity(1,1) primary key nonclustered, nick varchar(50) not null default '', classid int not null defaul