Hibernate基础学习(七)—检索方式

一、概述

     Hibernate有五种检索方式。

1.导航对象图检索方式

     根据已经加载的对象,导航到其他对象。

		Order order = (Order)session.get(Order.class,1);
		Customer customer = order.getCustomer();

 

2.OID检索方式

     根据对象的OID来检索对象。

		session.get(Customer.class,1);	
		session.load(Customer.class,1);	
get和load的区别

(1)get()使用的是立即检索策略。

    load()使用的延迟检索策略,即load()方法返回的是只有一个id属性的代理对象,只有真正使用对象时,才会发出Sql语句。

(2)get()如果查询的记录不存在返回null。

    load()如果查询不存在的记录则会抛异常,ObjectNotFoundException。

 

3.HQL检索方式

     使用面向对象的HQL查询语言。

 

4.QBC检索方式

    使用QBC(Query By Criteria)API来检索对象

 

5.本地SQL检索

    使用本地数据库的SQL查询语句。

session.createSQLQuery(String sql);

 

二、HQL语句

1.概述

HQL(Hibernate Query Language)是面向对象的查询,查询的是对象和对象的属性,是Hibernate特有的。

 

2.简单查询

image

 

3.简单条件查询

通过HQL检索一个类的实例时,如果查询语句的其他地方需要引用它,应该为这个类指定一个别名。

image

 

4.排序查询

image

结果:

     Customer [cid=3, cname=王五]
     Customer [cid=2, cname=李四]
     Customer [cid=1, cname=张三]

posted @ 2016-06-01 15:03  ✈✈✈  阅读(259)  评论(0编辑  收藏  举报