• 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=张三]

  • 相关阅读:
    git教程学习笔记(1)
    一句话懂什么是JS闭包
    attachEvent和addEventListener 的使用方法和区别
    地址栏中多个问号如何处理
    事件委托用法
    rem和em的区别
    echarts事件中获取当前实例
    this经典试题
    获取浏览器选中文本并操作
    android Activity launch mode 一个实例 singleInstance
  • 原文地址:https://www.cnblogs.com/yangang2013/p/5549645.html
Copyright © 2020-2023  润新知