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语句进行查询

 

posted on 2018-09-30 15:23  张奥那多益达普里奥  阅读(143)  评论(0编辑  收藏  举报