圣诞促销
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
课程
评论
关于我们
开始
开始学习
立即开始学习
我的进度
课程
目标地图
课程
全部目标
全部级别
判别器
SQL & Hibernate
第 15 级,
课程 2
描述 在上一课中,您看到 Hibernate 使用特殊的 DTYPE VARCHAR 列来存储实体类的名称。这样的列称为鉴别器。它用于明确确定为数据库中的给定行创建哪个类。 您可以使用@DiscriminatorColumn注释操作此列。例子: @DiscriminatorColumn(name="имя_колонки", discriminatorType = DiscriminatorType.INTEGER) 根据 JPA 规范,鉴别器可以有以下类型: 细绳 字符
连接表
SQL & Hibernate
第 15 级,
课程 3
描述 在数据库中存储类层次结构的另一种策略称为 Joined Table。它有一个特殊的注释: @Inheritance(strategy = InheritanceType.JOINED) 我们班级的一个例子: @Inheritance(strategy = InheritanceType.JOINED)
每班表
SQL & Hibernate
第 15 级,
课程 4
5.1 说明 最后,最后一个策略是每类表。这意味着每个类将使用一个单独的表。从某种意义上说,这是同一个 MappedSuperClass,只是更新了形式。 首先,您需要使用注释: @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
选择层次结构保存策略
SQL & Hibernate
第 15 级,
课程 5
描述 上述每种策略和技术都有其自身的优点和缺点。选择特定策略的一般建议如下所示: 基于 UNION 的 TABLE_PER_CLASS 策略 如果不需要多态查询和关联,则最好选择此策略。如果您很少做(或根本不做)“从用户用户中选择用户”。如果您没有任何引用用户的实体类,这是最好的选择(因为您仍然可以添加优化的多态查询和关联)。 SINGLE_TABLE 策略 应使用此策略: a) 仅适用于简单任务。在规范化和 NOT NULL 约束至关重要的情况下,应该首选策略 #3 (JO
标准API
SQL & Hibernate
第 16 级,
课程 0
Criteria API 简介 在 Hibernate 中有两种写数据库查询的方法: 休眠查询语言 标准API 您很久以前就已经遇到过第一个,是时候熟悉 Criteria API 了。这是一个非常强大的工具,在某些时候它甚至比 HQL 更受欢迎。现在它不再那么流行了,但对于某些任务来说,它肯定是比 HQL 更好的解决方案。 无论如何,不熟悉 Criteria API 就无法学习 Hibernate。我们先写一个小例子,然后我们来分析。例如,我们会从数据库中请求所有员工(Emp
标准 API 第 2 部分
SQL & Hibernate
第 16 级,
课程 1
分组和聚合函数 您已经了解了如何向 Criteria API 发出简单请求。让我们看看如何进行更复杂的查询。 例如,我们要编写一个查询来确定一家公司的员工人数。下面是它在 HQL 中的样子: select count(*) from Employee 在 Criteria API 上像这样: CriteriaQuery critQuery = builder.createQuery(Long.class);
本机查询
SQL & Hibernate
第 16 级,
课程 2
3.1 简介 我想谈的另一个有用的东西是NativeQuery。如您所知,使用 NativeQuery,您可以使用本机 SQL 编写查询。然而,更有趣的是,您不必在获取查询结果时使用类映射。 我宁愿给你看一个例子: List persons = session.createNativeQuery("SELECT * FROM Person").list();
交易
SQL & Hibernate
第 16 级,
课程 3
4.1 Hibernate 中的事务介绍 对于以上所有内容,我想添加有关交易的信息。如您所知,事务是一组必须一起执行的操作。如果任何操作失败或执行出错,则必须取消所有其他操作。 Hibernate 能够处理两种类型的事务: JDBC JTA JDBC 事务实际上是数据库事务。它与使用数据库、JDBC 连接相关联。并且他确保使用数据库时的操作按应有的方式执行:要么全部执行,要么什么都不执行。 JTA - 事务是应用程序级别的事务。它不绑定到任何数据库。它的任务是确保执行某些操作
道
SQL & Hibernate
第 16 级,
课程 4
DAO简介 当通过 JDBC 甚至通过 Hibernate 使用数据库时,代码往往比我们想要的更麻烦。数据库查询通常包含: 数据验证 设置请求参数 根据查询参数选择 HQL 查询 使用 Criteria API 构建查询 缓存设置 初始错误处理等 因此,通常的做法是创建特殊的类来处理数据库。这样的类称为 DAO,数据访问对象。他们的任务是隐藏使用数据库的所有复杂性,并为外部提供一个美观方便的接口。 例子: public class EmployeeDAO {
关于 Hibernate 的有用的细微差别
SQL & Hibernate
第 16 级,
课程 5
同时与两个基地合作 很多时候,您需要同时处理两个基地。例如,您从一个数据库中读取数据,对其进行处理并将其写入另一个数据库。 或者更常见。您的应用程序有一个本地数据库可以使用,也可以从支持 SQL 数据查询格式的各种远程源读取数据。例如 Excel。 对于这些远程数据源,定制您的 Hibernate 映射非常有用,这样应用程序的业务逻辑可以更简单并且只使用 Java 对象。 最简单的方法是拥有多个配置文件。例如,像这样: hibernate_oracle.cfg.xml
测试休眠代码
SQL & Hibernate
第 16 级,
课程 6
基于内存和测试 现在是最有趣的。在测试 Hibernate 代码时,通常您不想使用真正的基础,而是使用某种实现最少功能的存根。 您能想象一个实现大部分 SQL Server 标准的存根吗?我没有。但是,内存数据库本身就非常出色。它的工作原理大致是这样的: 在@BeforeAll 方法中,我们初始化内存中的数据库连接。 在@BeforeEach 方法中,我们获取会话并打开一个事务。 在@Test 方法中,我们使用当前会话和事务。 在@AfterEach 方法中,我们提交事务。
数据库设计中的基本任务
SQL & Hibernate
第 17 级,
课程 0
1.1 简介 设计数据库有点类似于设计 Java 项目的架构。您可以将所有数据放在几个表中,或者您可以从模式和数十个表构建一个漂亮的数据结构。 以下是开发人员在设计数据库时通常面临的任务: 确保所有必要的信息都存储在数据库中。 确保获得有关所有必要请求的数据的可能性。 减少数据的冗余和重复。 确保数据库完整性 数据访问速度优化 要记住的主要事情是你不能建立一个理想的数据库结构,因为。它和您的代码一样,也会不断变化。设计数据库结构时应牢记三点: 结构必须足够好。 凡事必有其人能
显示更多
1
...
55
56
57
58
59
60
Please enable JavaScript to continue using this application.