- 浏览: 219444 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (121)
- tomcat (1)
- 线程 (1)
- java基础 (7)
- jsp、EL (1)
- JSON (1)
- Struts2 (14)
- properties (1)
- log4j (1)
- Hibernate (14)
- xml (1)
- 存储过程 (1)
- 数据库 (5)
- 动态参数传递 (1)
- webservice (1)
- Spring (10)
- jar包冲突 (1)
- js (8)
- jQuery (5)
- 动态代理技术 (1)
- 负载均衡 (1)
- WebLogic (1)
- 异常处理办法 (3)
- struts1 (4)
- url重写技术 (1)
- 聊天室 (1)
- ip地址 (2)
- html (4)
- ajax (1)
- 其他 (6)
- ibatis (6)
- oracle (2)
- 服务器 (1)
- 常见异常 (3)
- jms (1)
- 乱码 (2)
- web基础 (1)
- JPA (2)
- 开发软件 (3)
- MongoDB (1)
- play (1)
最新评论
-
whjpyyyy:
有用。。
Struts2的iterator各种用法 -
cuisuqiang:
关于pushlet的使用:http://cuisuqiang. ...
网页聊天室的原理
HQL 常用操作符 描述
. 导航路径表达式操作符
+,- 一元正负号
*,/ 乘除法
+,- 加减法
=,<>,<,>,>=,<=,[NOT]BETWEEN[NOT] LIKE,[NOT] IN,IS [NOT] NULL,IS [NOT] EMPTY 二元比较操作符
NOT,AND,OR 逻辑操作符
HQL操作符
(b) HQL常用函数
Sql代码
1. FROM User u where lower(u.email) = 'foo@163.com' --小写
2. FROM User u where lower(u.email) = 'foo@163.com' --大写
3. FROM User u where concat(u.firstname,u.lastname) like 'G% K%' --拼接字符串
4. FROM User u where size(u.bids) > 3 --集合大小
HQL 函数
HQL 常用操作符 描述
UPPER(s),LOWER(s) 大小写
CONCAT(s1,s2) 连接字符串
SUBSTRING(s,offset,length) 取子串
TRIM() 去空格
LENGTH(s) 长度
LOCATE(search,s,offset) 搜索位置
ABS(n),SQRT(n),MOD(dividend,divisor) 绝对值,开方,除法
SIZE 大小写
BIT_LENGTH(s) 位数
CUTTENT_DATE() 当前时间
CURRENT_TIME()
CURRENT_TIMESTAMP()
SECOND(d) 获取时间的不同部分
MINUTE(d)
HOUR(d)
DAY(d)
MONTH(d)
YEAR(d)
CAST(t as TYPE) 类型转换
HQL函数
节 10.03 Order表达式
Sql代码
1. FROM CUSTOMERS as customers WHERE customers.id=1
2. ORDER BY customers.id FROM CUSTOMERS as customers
3. ORDER BY customers.lastname asc,firstname asc
节 10.04 投影查询
Sql代码
1. SELECT user.username,user.password FROM UserInfo user
注:1、在使用Select子句查询时,要给表对象起一个别名。
2、查询出的结果集是一个Object[]数组。
节 10.05 表关联
(a) 隐式关联连接
Sql代码
1. FROM User u WHERE u.homeAddress.city = 'BJ'
2. SELECT distinct u.homeAddress.city FROM User u
3. FROM Bid bid WHERE bid.item.description like '%FOO%'
(b) 普通联结
Sql代码
1. FROM ITEM i JOIN i.bids b WHERE i.description like '%Foo%' AND b.amount > 100
Java代码
1. Iterator iterator = query.list().iterator();
2. while(iterator.hasNext()){
3. Object[] pair = (Object[])iterator.next();
4. Item item = (Item)pair[0];
5. Bid bid = (Bid)pair[1];
6. }
Sql代码
1. SELECT i FROM ITEM i JOIN i.bids b WHERE i.description like '%Foo%' AND b.amount >100
Java代码
1. Iterator iterator = query.list().iterator();
2. while(iterator.hasNext()){
3. Item item = (Item)i.next();}
Sql代码
1. FROM ITEM i LEFT JOIN i.bids b WITH b.amount >1000 WHERE i.description
2. like '%Foo%' --WITH额外联结条件
(c) 抓取联结
fetch 连接允许仅使用一个select语句就将关联的对象或一组集合随他们父对象的初始化而初始化。
Sql代码
1. FROM ITEM i LEFT JOIN FETCH i.bids WHERE i.description LIKE '%Foo%'
注:普通联结同抓取联结的区别:
1、 生成的SQL语句虽然有连接,但是并没有取连接表的数据,还是需要单独的sql取数据。
2、 抓取联结一次性将所需要的数据装入内存中。
3、 当lazy=true时,抓取策略失效。
节 10.06 报表查询
(a) 统计函数投影
Sql代码
1. SELECT COUNT(user.id), MAX(user.id), SUM(user.id),MIN(user.id),AVG(user.score)
2. FROM UserInfo user
注:因为属于投影查询所以返回的结果为Object[]数组
(b) 分组
Sql代码
1. SELECT u.lastname,count(u) FROM User u group by u.lastname
2. SELECT bid.item.id,avg(bid.amount) FROM Bid bid GROUP BY bid.item.id
3. SELECT bid.item.id,count(bid),avg(bid.amount)
4. FROM Bid bid WHERE bid.item.successfulBid IS NULL GROUP BY bid.item.id
5. SELECT bidItem.id,count(bid),avg(bid.amount)
6. FROM Bid bid JOIN bid.item bidItem WHERE bidItem.successfulBid IS NULL GROUP BY bidItem.id
7. SELECT item.id,count(bid),avg(bid.amount)
8. FROM Item item JOIN item.bids.bid WHERE item.successfulBid IS NULL
9. GROUP BY item.id HAVING count(bid) >10
节 10.07 子查询
Sql代码
1. FROM User u WHERE 10 < (SELECT count(i) from u.items i where i.successfulBid IS NOT NULL)
2. FROM Item i WHERE 100 > all(SELECT b.amount FROM i.bids b) --出价小于100
3. FROM Item i WHERE 100 > any(SELECT b.amount FROM i.bids b) --出价大于100
4. FROM Item i WHERE 100 > some(SELECT b.amount FROM i.bids b) --出价等于100
5. FROM Item i WHERE 100 IN (SELECT b.amount FROM i.bids b) --出价等于100
发表评论
-
深入hibernate的三种状态
2015-01-14 20:39 808学过hibernate的人都可能都知道hibernate有三 ... -
表字段和实体属性映射命名策略
2013-03-14 17:16 1708hibernate: <bean ... -
hibernate update单个字段
2013-03-14 16:59 631Hibernate 中如果直接使用 Sess ... -
can bind a LONG value only for insert into a LONG column异常
2012-07-17 09:36 1341can bind a LONG value only f ... -
hibernate id 生成器
2012-07-16 17:10 54891、identity:用于MySql数据库。特点:递增 ... -
hibernate: could not get next sequence value
2012-07-12 18:39 1031hibernate配置oracle自增序列时指定方案,否则 ... -
Hibernate的List映射
2012-05-30 12:05 914Answer类为Question类一对多关联关系,即一个问题对 ... -
hibernate的get、load区别
2012-05-30 10:16 809(1)读取数据库不同 get不是使用延迟加载机 ... -
hibernate配置文件
2012-05-30 10:05 901Hibernate的描述文件可以是一个properties属性 ... -
精通HQL
2012-05-29 18:50 5216本章介绍了Hibernate的几种主要检索方式:HQL检索方式 ... -
Hibernate 参数设置一览表
2012-05-29 15:20 885属性名 用途 hibern ... -
org.hibernate.QueryException: ClassNotFoundException: org.hibernate.hql.ast.HqlT
2012-05-28 11:37 809org.hibernate.QueryException:Cl ... -
OpenSessionInViewFilter详解
2012-04-17 10:31 975OpenSessionInViewFilter是Spring提 ...
相关推荐
HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL...
HQL语句大全HQL语句大全HQL语句大全HQL语句大全HQL语句大全
HQL语句 HQL语句 HQL语句 HQL语句 HQL语句
hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全
Hql PPt Hql PPt
Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询...
不喜欢使用myEclipse的...最近在项目中使用Hibernate,由于需要使用HQL,找了很多资料,大都是MyEclipse中自带的HQL工具。 由于MyEclipse是收费的,速度不是很理想。所以在网上找到了一个elipse插件 英文图文教程 ...
hql模糊查询hql模糊查询hql模糊查询hql模糊查询
hibernate hql基本操作
hql语句常规 方法 使用 了解hql语句
之前写好SQL,再到代码里面来写,语句复杂的看的时不时细节会忘记,用sql转换hql工具,直接贴近了就可以了;
hibernate查询之HQLhibernate查询之HQLhibernate查询之HQL
HQL是完全面向对象的查询语言,因此可以支持继承和多态等特征。HQL查询依赖于Query类,每个Query实例对应一个查询对象,使用HQL查询按 如下步骤进行: (1)获取Hibernate Session对象; (2)编写HQL语句; (3)以HQL...
精通HQL.doc精通HQL.doc精通HQL.doc精通HQL.doc精通HQL.doc
HQL语言大全HQL语言大全HQL语言大全
Hibernate 查询语言 HQL Hibernate 查询语言 HQL 是一种面向对象的查询语言,用于检索对象。它提供了灵活多样的查询机制,包括导航对象图、通过标识符检索、使用 HQL 检索对象、使用 Hibernate 条件 API 和使用本地...
HQL查询语言基础,HQL查询语言基础,HQL查询语言基础
HQL查询语言基础.
hibernate hql 语言大全 hql学习,这个文档是一个很全面,很不错的
hql多表查询hql多表查询hql多表查询