zoukankan      html  css  js  c++  java
  • Hibernate-HQL

    Hibernate Query language,语法同SQL基本一致,但其中使用的实体类和类的属性,而非表名和表的列名

    声明

    Query query = session.createQery(String hql);

    查询

    list

    返回List对象

    List<POJO> list = query.list();

    iterate

    返回Iterator对象

    Iterator<POJO> it = query.iterate();

    listiterate的区别

    list会一次性查询所有结果。

    iterate会一次性查询所有主键,并在调用iterator.next()时优先查询缓存中该主键对应的记录。

    iterate会更好的利用缓存。

    select

    选择多个列时,返回List<Object[]>列表

    占位符

    PreparedStatement一样,可以使用占位符'?'

    设置占位符的值: query.setType(index, value); //index0开始

    使用名称

    在需要设置占位符的地方使用 ':占位名'

    设置占位名的值: query.setType("占位名", value);

    迫切连接

    使用join时,只有在调用多方结果实体的具体属性时才会真正进行查询。

    可使用迫切内连接一次性取出所有对象

    join后添加fetch关键词

    命名的HQL

    配置

    可在配置文件中定义HQL后再代码中调用

    <query name="命名">

    <![CDATA[ HQL语句]]>

    </query>

    调用

    Query query = session.getNameQuery("命名");

  • 相关阅读:
    Python基础:01Python标准类型分类
    Python基础:05集合类型
    Python基础:04映射类型
    Python基础:03序列:字符串、列表和元组
    Python基础:02数字
    centreon公司推出的check plugin pack
    dell Nx000系列交换机
    交换机性能指标
    工作排班
    ansible
  • 原文地址:https://www.cnblogs.com/AlMirai/p/12546545.html
Copyright © 2011-2022 走看看