码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate的查询的方式

时间:2018-09-30 16:39:58      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:oid   很多   code   tom   连接   显示   导航   技术   sql查询   

Hibernate的查询的方式

在Hibernate中提供了很多种的查询的方式。Hibernate共提供了五种查询方式。

Hibernate的查询方式:OID查询

OID检索:Hibernate根据对象的OID(主键)进行检索

使用get方法

Customer customer = session.get(Customer.class,1l);

 

使用load方法

Customer customer = session.load(Customer.class,1l);

 

Hibernate的查询方式:对象导航检索

对象导航检索:Hibernate根据一个已经查询到的对象,获得其关联的对象的一种查询方式。

LinkMan linkMan = session.get(LinkMan.class,1l);

Customer customer  = linkMan.getCustomer();

 

Customer customer = session.get(Customer.class,2l);

Set<LinkMan> linkMans = customer.getLinkMans();

 

Hibernate的查询方式:HQL检索

HQL查询:Hibernate Query Language,Hibernate的查询语言,是一种面向对象的方式的查询语言,语法类似SQL。通过session.createQuery(),用于接收一个HQL进行查询方式。

初始化一些数据

 技术分享图片

 

 

HQL的简单查询

 技术分享图片

 

 HQL的别名查询

 技术分享图片

 

 

HQL的排序查询

 技术分享图片

 

HQL的条件查询

 技术分享图片

 

HQL的投影查询

投影查询:查询对象的某个或某些属性。

 技术分享图片

 

HQL的分页查询

 技术分享图片

 

HQL的分组统计查询

 技术分享图片

 

HQL的多表查询

l  SQL的多表查询

n  连接查询

u  交叉连接:笛卡尔积

select * from A,B;

u  内连接    :inner join (inner 可以省略)

l  隐式内连接:

select * from A,B where A.id = B.aid;

l  显示内连接:

select * from A inner join B on A.id = B.aid;

u  外连接    :

l  左外连接:left outer join(outer 可以省略)

select * from A left outer join B on A.id= B.aid;

l  右外连接:right outer join(outer 可以省略)

select * from A right outer join B on A.id = B.aid;

n  子查询

 

l  HQL的多表查询

n  连接查询

u  交叉连接

u  内连接

l  显示内连接

l  隐式内连接

迫切内连接

u  外连接

l  左外连接

l  右外连接

迫切左外连接

 

技术分享图片

 

 

Hibernate的查询方式:QBC检索

QBC查询:Query By Criteria,条件查询。是一种更加面向对象化的查询的方式。

 简单查询

 技术分享图片

 

 排序查询

 技术分享图片

 

分页查询

 技术分享图片

 

条件查询

 技术分享图片

 

统计查询

 技术分享图片

 

离线条件查询(SSH)---DetachedCriteria

 技术分享图片

 

 

Hibernate的查询方式:SQL检索

SQL查询

SQL查询:通过使用sql语句进行查询

技术分享图片

 

Hibernate的查询的方式

标签:oid   很多   code   tom   连接   显示   导航   技术   sql查询   

原文地址:https://www.cnblogs.com/tc6666/p/9729782.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!