• 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("命名");

  • 相关阅读:
    Day02
    Day01
    Insecure CAPTCHA (不安全的验证码)
    物理机burp抓虚拟机包
    File Upload(文件上传)
    File Inclusion(文件包含)
    CSRF(跨站请求伪造)
    Command Injection命令注入
    [Unity 2D] Unity CharacterController2D
    [Unity UGUI]卡卡西大法
  • 原文地址:https://www.cnblogs.com/AlMirai/p/12546545.html
Copyright © 2020-2023  润新知