前言
这篇文章主要讲了,一些查询的方法。以及开发中比较常见的
分析
技术分析之Hibernate框架的查询方式
1. 唯一标识OID的检索方式
* session.get(对象.class,OID)
2. 对象的导航的方式
3. HQL的检索方式
* Hibernate Query Language -- Hibernate的查询语言
4. QBC的检索方式
* Query By Criteria -- 条件查询
5. SQL检索方式(了解)
* 本地的SQL检索
其中第一种的检索方式,也事比较常见的,是通过主键ID来查询的,用session对象,适用get方法,参数就是对象的映射,和ID值,就可以查出这个表的数据。
/**
* 查询联系人,属于某一个客户
*/
@Test
public void run2(){
// 先查询1号客户
Session session = HibernateUtils.getCurrentSession();
Transaction tr = session.beginTransaction();
Linkman man = session.get(Linkman.class,5L);
System.out.println("=============");
System.out.println(man.getCustomer().getCust_name());
tr.commit();
}
其中第二种的检索方式,也是常见的,在一对多的时候,比如A的JavaBean中含有B的对象,那么当我们需要查询B的时候,就可以用A的get方法,获得B的对象,从而得到B的数据。
/**
* 对象导航的方式
*/
@Test
public void run1(){
// 先查询1号客户
Session session = HibernateUtils.getCurrentSession();
Transaction tr = session.beginTransaction();
// 先是有OID的方式查询客户
Customer c = session.get(Customer.class,1L);
System.out.println("=====================");
// 查看该客户下的联系人的集合
System.out.println(c.getLinkmans().size());
tr.commit();
}