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

来源:互联网 发布:东北人快手低俗知乎 编辑:程序博客网 时间:2024/06/05 05:24

前言

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


分析

技术分析之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值,就可以查出这个表的数据。

/** * 查询联系人,属于某一个客户 */@Testpublic 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的数据。

/** * 对象导航的方式 */@Testpublic 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();}



阅读全文
0 0