促销活动
CodeGym University
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
课程
评论
关于我们
开始
开始学习
立即开始学习
目标地图
课程
级别 10
学习用 HQL 编写查询
SQL & Hibernate
第 10 级,
课程 0
1.1 HQL简介 之前,您已经熟悉了 Hibernate,现在我将向您介绍HQL,又名Hibernate Query Language。实际上,这是为在 Hibernate 中编写查询而转换的 SQL。它有几个关键的区别。 使用类名而不是表名。 使用类字段名而不是表列名。 选择的可选使用。 让我们让 Hibernate 返回给我们它在数据库中的所有用户。该请求如下所示: from User 仅此而已,为了比较,我们在 SQL 中提供了一个类似的查询: select * fr
探索查询类
SQL & Hibernate
第 10 级,
课程 1
2.1 Query类介绍 顺便说一句,另一个重要的点是Query helper 类。你可以在这个例子中看到它: public List getAllEmployes() {
加入HQL
SQL & Hibernate
第 10 级,
课程 2
3.1 映射依赖实体 在 SQL 中,您可以使用 JOIN 编写查询。可以在 HQL 中做同样的事情吗?简短的回答是肯定的。但完整的答案会更有趣。 首先,当我们在 SQL 中编写 JOIN 时,通常意味着一个表引用另一个表。例如,task 表包含一个 employee_id 列,该列引用 employee 表的 id 列。 这种依赖性可以在 Hibernate 中使用注解来描述。首先,让我们为表创建实体。首先,让我们描述一下员工表: @Entity
带参数的请求
SQL & Hibernate
第 10 级,
课程 3
4.1 请求参数 Hibernate 允许您将参数传递给查询。因此,所有与查询和数据库的工作都大大简化了。 很难找到不可变的查询。起初,您似乎只需要从数据库中返回一个商品列表即可。然后事实证明,您需要在特定日期为特定用户提供最新的产品列表。按必填字段排序,但不是整个列表,而是特定页面:例如,从 21 到 30 的产品。 而这正是参数化查询解决的问题。你用 HQL 写一个查询,然后你用“特殊名称”——参数来替换可以改变的值。然后分别在执行请求的时候,可以传递这些参数的值。 让我
请求长度限制
SQL & Hibernate
第 10 级,
课程 4
使用页面:LIMIT 和 OFFSET 很多时候,数据库中的数据是在“页面”中检索的。因为这就是处理大型列表的方便之处。我们首先查询 1 到 20 行,然后是 21 到 40 行,依此类推。 这种情况很常见,SQL 对此 LIMIT 和 OFFSET 有特殊的运算符。 这些运算符的类似物也存在于 Hibernate 中。只有他们立即决定以单独方法的形式制作它们: setFirstResult()类似于OFFSET。 setMaxResults()类似于LIMIT。 使用这些方
其他类型的请求
SQL & Hibernate
第 10 级,
课程 5
6.1 命名查询 Hibernate 允许您不直接在代码中存储查询。相反,他建议给查询名称并将它们作为注释单独存储。好吧,那就直接通过它的名字来接受想要的请求吧。例子: @org.hibernate.annotations.NamedQueries({
Please enable JavaScript to continue using this application.