Hibernate的学习之路二十八(唯一OID和对象导航的查询的方式)

前言

这篇文章主要讲了,一些查询的方法。以及开发中比较常见的


分析

技术分析之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();
	}



你可能感兴趣的:(HiBernate)