hql

  1. 什么是hql
    HQL是Hibernate Query Language的缩写
    2. hql和sql区别/异同

    HQL
    类名/属性
    区分大小写,关键字不区分大小写
    别名
    从下标0开始计算位置(hibernate5之后不支持)
    命名参数
    面向对象的查询语言

SQL
表名/列名
不区分大小写
别名 别名
从顺序1开始计算位置
不支持:命名参数
面向结构查询语言

  1. 处理返回的结果集
    3.1 单个对象
    select没有逗号
    3.2 Object[]
    b.bookId, b.bookName
    3.3 Map
    new Map(b.bookId as bid, b.bookName as bname)
    3.4 new 构造方法(attr1,attr2)
    new Book(b.bookId, b.price)

  2. hql中使用占位符
    4.1 ?占位符
    从下标0开始计算位置
    hibernate5之后不再支持?占位符

你可能感兴趣的:(hibernate)