Hibernate的查询相关的操作
创建query对象
设置条件值query.setParameter(int arg0,Object arg1);
第一个arg0表示占位符,arg1表示参数的值
占位符从0开始写起
接下来调用方法进行查询操作
HQL语句的学习
where 属性1 like ?
query.setParameter(int arg0,Object arg1)模糊查询
arg1改成"%模糊值%"
排序:
order by 属性名 desc //表名和字段名改成相应的类名和属性名
分页:
Hibernate不能使用limit分页,但是可以使用其中的两种方法
当然首先要查询所有
setFirstResult(m); //设置起始位置
setMaxResults(n); //设置每页记录数
投影查询:
查询不是所有字段值,而是部分字段值
查询语句的写法:
select 属性名 from 实体类名
不能写*,Hibernate不支持
调用list()方法,返回值可以使用Object接收
List<Object> list = query.list();
聚集函数:
select count(*) from 实体类名
HQL多表查询:
1、内连接:
基于条件的内连接,关联数据
SQL语句:表1 inner join 表2 on 条件 或者 直接where 条件
HQL语句:from 实体类 inner join set集合,返回值是一个数组
2、左外连接:
SQL语句:表1 left outer join 表2 on 条件 //左表的所有
HQL语句:from 实体类 left outer join set集合
3、右外连接
SQL语句:表1 right outer join 表2 on 条件 //右表的所有
HQL语句:from 实体类 right outer join set集合
4、迫切内连接
HQL语句:from 实体类 inner join fetch set集合 //底层实现和内连接一样,但是返回的list集合中为对象
5、迫切左连接
HQL语句:from 实体类 left outer join fetch set集合
有关Hibernate知识的学习(十)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 表妹属猪,和我一样,出生在一个内陆的小县城。 记忆中的表妹,梳着两个马尾辫,五官算不上漂亮,长得像她爹,一笑起来露...