Hibernate的检索方式

    xiaoxiao2021-03-26  34

    HQL(Hibernate Query Language)

    HQL(Hibernate Query Language) 是面向对象的查询语言, 它和 SQL 查询语言有些相似. 在 Hibernate 提供的各种检索方式中, HQL 是使用最广的一种检索方式. 它有如下功能:

    在查询语句中设定各种查询条件

    支持投影查询, 即仅检索出对象的部分属性

    支持分页查询

    支持连接查询

    支持分组查询, 允许使用 HAVING 和 GROUP BY 关键字

    提供内置聚集函数, 如 sum(), min() 和 max()

    能够调用 用户定义的 SQL 函数或标准的 SQL 函数

    支持子查询

    支持动态绑定参数

    OID 检索方式

    按照对象的 OID 来检索对象

    QBC 检索方式

    使用 QBC(Query By Criteria) API 来检索对象. 这种 API 封装了基于字符串形式的查询语句, 提供了更加面向对象的查询接口.

    简单的查询

    使用别名

    对查询结果排序

    分页查询

    分页查询:

    setFirstResult(int firstResult): 设定从哪一个对象开始检索, 参数 firstResult 表示这个对象在查询结果中的索引位置, 索引位置的起始值为 0. 默认情况下, Query 从查询结果中的第一个对象开始检索

    setMaxResult(int maxResults): 设定一次最多检索出的对象的数目. 在默认情况下, Query 和 Criteria 接口检索出查询结果中所有的对象

    检索单个对象

    绑定参数的形式,按参数名称绑定

    绑定参数的形式,按参数位置绑定

    在映射文件中定义命名查询语句

    hibernate检索方式

    HQL和QBC支持的各种运算

    HQL和QBC支持的各种运算

    迫切左外连接

    HQL测试

    单表

    junit测试结果:



    顺序查询

    一对多

    等值连接

    迫切内连接

    左外连接

    迫切左外连接

    在页面上显示cname,sname

    采用迫切内连接可以做

    迫切左外连接

    多对多

    总结

    * 页面上数据的字段和数据库中字段差不多 这个时候,采用迫切连接 结构比较好 * 如果页面上的字段很少,要按照需求加载数据,采用带构造函数的select查询 c. 认证博客专家 MySQL Java Elasticsearch github:https://github.com/cckevincyhgitee:https://gitee.com/cckevincyh
    转载请注明原文地址: https://ju.6miu.com/read-663210.html

    最新回复(0)