找到 11 篇文章 关于 Hibernate

Hibernate 中有哪些可用的继承映射策略?

Manu
更新于 2022-08-26 11:47:53

827 次查看

有三种类型的继承映射策略 - 每个类层次结构表 每个具体类表 每个子类表 在本文中,我们将讨论每个类层次结构表。每个类层次结构表 在此,仅为继承映射创建单个表。这种方法的缺点是表中会存储大量空值。@Inheritance(strategy=InheritanceType.SINGLE_TABLE)、@DiscriminatorColumn 和 @DiscriminatorValue 是此策略中使用的注解。@DiscriminatorColumn 用于创建一个额外的列,该列用于识别层次结构类。请考虑以下示例以了解这一点 - 步骤 ... 阅读更多

如何在 Hibernate 中执行批处理插入更新?

Manu
更新于 2022-08-26 11:40:06

3K+ 次查看

在本文中,我们将了解如何在 Hibernate 中执行批处理插入/更新。每当我们执行 SQL 语句时,我们都是通过向数据库发出网络调用来执行的。现在,如果我们必须将 10 个条目插入到我们的数据库表中,那么我们必须进行 10 次网络调用。相反,我们可以通过使用批处理来优化我们的网络调用。批处理允许我们在单个网络调用中执行一组 SQL 语句。为了理解和实现这一点,让我们定义我们的实体 - @Entity public class Parent { @Id @GeneratedValue(strategy ... 阅读更多

如何使用聚合函数自定义 JPA 查询的结果?

Manu
更新于 2022-08-26 11:34:40

2K+ 次查看

大多数时候,当我们使用 JPA 查询时,获得的结果会被映射到一个对象/特定数据类型。但是当我们在查询中使用聚合函数时,处理结果有时需要我们自定义 JPA 查询。让我们借助一个示例(部门、员工)来了解这一点 - Dept.java @Entity public class Dept { @Id private Long id; private String name; @OneToMany(mappedBy = "dep") private List emp; //Getters //Setters } 一个部门可以有一个或多个 ... 阅读更多

如何将 Hibernate 连接到 MySQL 数据库?

Manu
更新于 2022-08-26 11:28:09

9K+ 次查看

在本文中,我们将了解如何使用像 Hibernate 这样的 ORM(对象关系映射)框架连接到 MySQL 数据库。首先,我们需要在我们的 pom.xml 文件中添加 Hibernate 的 Maven 依赖项 - org.hibernate hibernate-core 5.6.2.Final 现在,让我们定义一个实体类,它将使用 Hibernate 映射到数据库表。@Entity @Table( name = " Employee") public class Employee { @Id @GeneratedValue(strategy = GenerationType.AUTO) Long id; @Column(name = ... 阅读更多

Hibernate 二级缓存是如何工作的?

Manu
更新于 2022-08-26 11:24:31

2K+ 次查看

缓存有助于减少数据库网络调用,以执行查询。一级缓存与会话相关联。它是隐式实现的。一级缓存仅在会话对象存在时才存在。一旦会话对象终止/关闭,将不再有缓存对象。二级缓存跨多个会话对象工作。它与会话工厂相关联。二级缓存对象可用于单个会话工厂中的所有会话。当特定会话工厂关闭时,这些缓存对象将被终止。实现二级缓存 我们需要添加以下依赖项才能 ... 阅读更多

Hibernate 和 JPA 的区别

Pradeep Kumar
更新于 2022-07-25 10:09:14

6K+ 次查看

Red Hat 开发了 Hibernate 框架,也称为 Hibernate 对象关系映射器 (ORM)。这个用于 Java 编程语言的对象关系映射工具的第一个版本于 2007 年 5 月 23 日提供下载。Hibernate 支持跨多个平台工作的 Java 虚拟机 (JVM),并且是用 Java 编写的。“JPA”代表 Java 持久性 API。它是一个管理关系数据的工具。在最基本的形式中,JPA 是一个规范。它解决对象元数据或关系元数据。Java 持久性查询语言 (JPQL) 是该语言 ... 阅读更多

Hibernate 中 sequence 和 identity 的区别

Himanshu shriv
更新于 2020-01-21 08:04:06

9K+ 次查看

Hibernate 或 JPA 支持 4 种不同类型的主键生成器。这些生成器用于在将行插入数据库时生成主键。以下是主键生成器 - GenerationType.AUTO GenerationType. IDENTITY GenerationType.SEQUENCE GenerationType.TABLE GenerationType. IDENTITY - 在 identity 中,数据库负责自动生成主键。插入一行而不为 ID 指定值,并在插入行后,询问数据库最后一个生成的 ID。Oracle 11g 不支持 identity 密钥生成器。此功能在 Oracle 12c 中受支持。GenerationType. SEQUENCE - 在 sequence 中,我们首先询问数据库下一个序列集 ... 阅读更多

Hibernate 中 save() 和 persist() 的区别

Himanshu shriv
更新于 2020-01-21 07:33:48

19K+ 次查看

Save() 和 persist() 这两种方法都用于将对象保存到数据库中。根据文档 - Save() - 首先分配生成的标识符,然后持久化给定的瞬态实例。(或者如果使用分配的生成器,则使用标识符属性的当前值。)如果关联与 cascade="save-update" 映射,则此操作会级联到关联的实例。根据文档 - persist() - 使瞬态实例持久化。如果关联与 cascade="persist" 映射,则此操作会级联到关联的实例。此方法的语义由 JSR-220 定义。序号键save()persist()1基本它将对象存储在数据库中它也将在数据库中存储对象2返回类型它返回生成的 id,返回类型为 ... 阅读更多

Hibernate 中 get() 和 load() 的区别

Himanshu shriv
更新于 2020-01-21 07:19:37

23K+ 次查看

在 Hibernate 中,get() 和 load() 是两种用于为给定标识符获取数据的方法。它们都属于 Hibernate 会话类。如果会话缓存或数据库中没有给定标识符的行,则 Get() 方法返回 null,而 Load() 方法则抛出对象未找到异常。序号键Get()Load()1基本它用于为给定标识符从数据库中获取数据它也用于为给定标识符从数据库中获取数据2空对象如果找不到给定标识符的对象,则它将返回 null 对象它将抛出对象未找到异常3延迟 ... 阅读更多

Hibernate 中一级缓存和二级缓存的区别

Himanshu shriv
更新于 2020-01-21 07:12:08

9K+ 次查看

Hibernate 支持两种类型的缓存,一种是一级缓存,另一种是二级缓存。一级缓存是会话级缓存,它始终与会话级对象相关联。这种类型的缓存用于通过缓存对象的状态来最大程度地减少 Db 交互。也就是说,它不会在每次事务修改后都更新,而只在事务结束时更新。二级缓存是会话工厂级缓存,它在所有会话中都可用。在运行事务时,它在会话工厂级别加载对象,... 阅读更多

广告
© . All rights reserved.