圣诞促销
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
课程
评论
关于我们
开始
开始学习
立即开始学习
我的进度
课程
目标地图
课程
全部目标
全部级别
使用实体对象
SQL & Hibernate
第 9 级,
课程 3
4.1 交易和数据库完整性 数据库的正常运行模式是每分钟从数百个不同的客户端接收数千个请求。在这种情况下,经常会出现从不同查询访问相同数据的情况。 不太常见,但有时会出现一个请求读取某一行,而另一个请求同时更改它的情况。想象一下,如果有人读到一行只改变了一半会怎样?没什么好的。 这个问题可以通过几种方式解决。首先,您可以只锁定更改的行。既适合阅读,也适合写作。这种方法有效,但基地的速度受到很大影响。 第二种方法是将字符串锁定为只写。但是,当有人试图阅读部分修改的行时,仍然会出
休眠配置
SQL & Hibernate
第 9 级,
课程 4
5.1 自动数据模式生成 当您第一次配置 Hibernate 时,您可以启用许多有趣的设置。之前没带,免得喷了。但在关卡结束时,我想到了其中的一些内容。 第一个这样的设置是hbm2ddl.auto. 它可以有 5 个不同的值: 证实 验证:Hibernate 将检查列名和字段名以及类型在数据库和注释中是否匹配。这是最常见的模式。 更新 更新:如果表或它们的列与预期不同,Hibernate 将更新数据库中的表。 创造 重新创建:Hibernate 将删除数据库中的所有表,并根据
学习用 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({
Hibernate Entity 对象的生命周期
SQL & Hibernate
第 11 级,
课程 0
国家名单 现在乐趣开始了。我们将研究实体对象的状态。你必须为所有东西付费,使用 Hibernate 也是如此。你不觉得学习HQL是要付出这样的代价吗?不,生活有点复杂。 如果你有某种可以使用 Hibernate 保存到数据库中的 Entity 对象,那么从 Hibernate 的角度来看,这个对象可以有四种状态: 短暂的 持久(或托管) 分离的 删除 为了让您感兴趣,我将在本次讲座中添加这张照片: 短暂的 事实上,一切都比看起来简单得多,尽管并非没有细微差别。例如,您使用 J
如何在 Hibernate 中保存一个对象
SQL & Hibernate
第 11 级,
课程 1
可能的对象状态选项 您可能已经注意到,当对象附加到 Hibernate 时,其状态称为Persistent或Managed。怎么对?坚持还是管理? 这是可能的,如此,如此。根据 JPA 规范,对象具有 Persist 状态,而根据 Hibernate 规范,其状态称为 Managed。 在 Hibernate 中,使用数据库是通过org.hibernate.Session类型的对象执行的。根据 JPA,该类应称为 javax.persistence.EntityManager
如何在 Hibernate 中更改对象
SQL & Hibernate
第 11 级,
课程 2
merge() 方法的细微差别 如果你想使用 Hibernate 来改变一个已经存储在数据库中的对象,那么也有几种方法可以做到这一点。 第一个是merge()方法,它根据传递的对象更新数据库中的信息。这将调用 SQL UPDATE 查询。例子: User user = new User();
获取对象的不同方式
SQL & Hibernate
第 11 级,
课程 3
get() 方法 如果你想通过对象的 ID(或主键)获取对象,那么 Hibernate 有以下三种方法: 加载() 得到() 寻找() 他们做同样的事情,但有细微差别。get()方法的一般格式是: EntityClass имя = session.get(EntityClass.class, Object primaryKey); get()方法的第二个参数是它需要返回的对象的 ID(主键)。然后它从数据库中加载该对象并返回它。例子: User user = session
显示更多
1
...
52
53
54
55
56
...
60
Please enable JavaScript to continue using this application.