AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题
课时
评论
关于我们
开始
开始学习
立即开始学习
我的进度
课程
任务地图
课程
Java
SQL & Hibernate
级别 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.