zoukankan      html  css  js  c++  java
  • 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=张三]

  • 相关阅读:
    .Net -- NLog日志框架配置与使用
    Prism -- 简介
    Prism.WPF -- Prism框架使用(下)
    Prism.WPF -- Prism框架使用(上)
    Win32Api -- 关闭当前应用
    WPF -- 一种圆形识别方案
    C#语言特性及发展史
    WPF -- 一种实现本地化的方法
    DEV中右键菜单如何只在非空单元格上显示?
    打开一个窗体,其他窗体处于不可编辑状态
  • 原文地址:https://www.cnblogs.com/yangang2013/p/5549645.html
Copyright © 2011-2022 走看看