📝 Hibernate教程
67篇技术文档📅  最后修改于: 2020-11-16 06:55:12        🧑  作者: Mango
Hibernate是一种高性能的对象/关系持久性和查询服务,已根据开源GNU通用通用公共许可证(LGPL)获得许可,可以免费下载。 Hibernate不仅负责从Java类到数据库表(以及从Java数据类型到SQL数据类型)的映射,而且还提供数据查询和检索功能。本教程将教您如何使用Hibernate通过简单的步骤来开发基于数据库的Web应用程序。本教程适用于所有希望了解Hibernate框架及其AP...
📅  最后修改于: 2020-11-16 06:55:39        🧑  作者: Mango
什么是JDBC?JDBC代表Java数据库连接。它提供了一组Java API,用于从Java程序访问关系数据库。这些Java API使Java程序能够执行SQL语句并与任何符合SQL的数据库进行交互。JDBC提供了一种灵活的体系结构来编写独立于数据库的应用程序,该应用程序可以在不同的平台上运行并且可以与不同的DBMS进行交互,而无需进行任何修改。JDBC的优缺点Pros of JDBCCons o...
📅  最后修改于: 2020-11-16 06:55:58        🧑  作者: Mango
Hibernate是用于JAVA的Object-řelational中号apping(ORM)溶液。它是Gavin King在2001年创建的一个开源持久性框架。它是任何Java应用程序的强大,高性能的对象关系持久性和查询服务。Hibernate将Java类映射到数据库表,从Java数据类型映射到SQL数据类型,并使开发人员从95%的与通用数据持久性相关的编程任务中解脱出来。Hibernate位于...
📅  最后修改于: 2020-11-16 06:56:21        🧑  作者: Mango
Hibernate具有分层的体系结构,可帮助用户进行操作而无需了解底层API。 Hibernate利用数据库和配置数据为应用程序提供持久性服务(和持久性对象)。以下是Hibernate应用程序体系结构的高级视图。以下是Hibernate Application Architecture及其重要核心类的详细视图。Hibernate使用各种现有的Java API,例如JDBC,Java Transac...
📅  最后修改于: 2020-11-16 06:56:42        🧑  作者: Mango
本章介绍了如何安装Hibernate和其他相关软件包,以为Hibernate应用程序准备环境。我们将使用MySQL数据库来试验Hibernate示例,因此请确保您已经安装了MySQL数据库。有关MySQL的更多详细信息,可以查看我们的MySQL教程。下载休眠假定您已经在系统上安装了最新版本的Java。以下是在系统上下载并安装Hibernate的简单步骤-选择是要在Windows还是Unix上安装H...
📅  最后修改于: 2020-11-16 06:57:13        🧑  作者: Mango
Hibernate需要事先知道-在哪里可以找到定义Java类与数据库表的关系的映射信息。 Hibernate还需要一组与数据库和其他相关参数有关的配置设置。所有这些信息通常以标准Java属性文件hibernate.properties或XML文件hibernate.cfg.xml的形式提供。我将在示例中考虑XML格式的文件hibernate.cfg.xml来指定必需的Hibernate属性。大多数...
📅  最后修改于: 2020-11-16 06:57:39        🧑  作者: Mango
会话用于获得与数据库的物理连接。 Session对象是轻量级的,旨在在每次需要与数据库进行交互时实例化。持久对象通过Session对象保存和检索。会话对象不应长时间保持打开状态,因为它们通常不是线程安全的,因此应根据需要创建和销毁它们。会话的主要函数是为映射实体类的实例提供,创建,读取和删除操作。在给定的时间点,实例可能存在以下三种状态之一-瞬态-持久类的新实例,该实例与会话无关,并且在数据库中没...
📅  最后修改于: 2020-11-16 06:57:59        🧑  作者: Mango
Hibernate的整个概念是从Java类属性中获取值并将其持久化到数据库表中。映射文档可帮助Hibernate确定如何从类中提取值以及如何将它们与表和关联字段进行映射。对象或实例将存储在数据库表中的Java类在Hibernate中称为持久性类。如果这些类遵循一些简单规则(也称为普通旧Java对象(POJO)编程模型),则Hibernate效果最佳。持久性类有以下主要规则,但是,这些规则都不是硬性...
📅  最后修改于: 2020-11-16 06:58:23        🧑  作者: Mango
对象/关系映射通常在XML文档中定义。该映射文件指示Hibernate —如何将已定义的一个或多个类映射到数据库表?尽管许多Hibernate用户选择手工编写XML,但是存在许多工具来生成映射文档。其中包括面向高级Hibernate用户的XDoclet,Middlegen和AndroMDA。让我们考虑一下我们先前定义的POJO类,其对象将保留在下一部分定义的表中。将有一个表对应于您愿意提供持久性的...
📅  最后修改于: 2020-11-16 06:58:44        🧑  作者: Mango
准备Hibernate映射文档时,会发现将Java数据类型映射为RDBMS数据类型。映射文件中声明和使用的类型不是Java数据类型。它们也不是SQL数据库类型。这些类型称为Hibernate映射类型,可以将其从Java转换为SQL数据类型,反之亦然。本章列出了所有基本,日期和时间,大对象以及其他各种内置映射类型。基本类型Mapping typeJava typeANSI SQL Typeinteg...
📅  最后修改于: 2020-11-16 06:59:26        🧑  作者: Mango
现在让我们举一个例子来了解我们如何使用Hibernate在独立的应用程序中提供Java持久性。我们将经历使用Hibernate技术创建Java应用程序所涉及的不同步骤。创建POJO类创建应用程序的第一步是构建Java POJO类,具体取决于将持久化到数据库的应用程序。让我们考虑带有getXXX和setXXX方法的Employee类,使其成为与JavaBeans兼容的类。POJO(普通的旧Java对...
📅  最后修改于: 2020-11-16 06:59:50        🧑  作者: Mango
到目前为止,我们已经看到了使用休眠的最基本的O / R映射,但是有三个最重要的映射主题,我们需要详细学习。这些是-集合的映射,实体类之间的关联映射,以及组件映射。集合映射如果实体或类具有特定变量的值集合,那么我们可以使用Java中可用的任何一个集合接口来映射这些值。 Hibernate可以持久化java.util.Map,java.util.Set,java.util.SortedMap,java...
📅  最后修改于: 2020-11-16 07:00:38        🧑  作者: Mango
到目前为止,您已经了解了Hibernate如何使用XML映射文件将数据从POJO转换为数据库表,反之亦然。 Hibernate批注是无需使用XML文件即可定义映射的最新方法。除了XML映射元数据外,也可以使用注释来代替XML映射元数据。休眠注释是为对象和关系表映射提供元数据的强大方法。所有元数据与代码一起被合并到POJO Java文件中,这有助于用户在开发过程中同时理解表结构和POJO。如果要使您...
📅  最后修改于: 2020-11-16 07:01:15        🧑  作者: Mango
休眠查询语言(HQL)是一种面向对象的查询语言,与SQL相似,但它不是对表和列进行操作,而是与持久对象及其属性一起使用。 Hibernate将HQL查询转换为常规的SQL查询,这些查询又对数据库执行操作。虽然您可以使用Native SQL将SQL语句直接与Hibernate一起使用,但是我建议尽可能使用HQL,以避免数据库可移植性的麻烦,并利用Hibernate的SQL生成和缓存策略。诸如SELE...
📅  最后修改于: 2020-11-16 07:02:03        🧑  作者: Mango
Hibernate提供了处理对象以及RDBMS表中可用数据的替代方法。方法之一是Criteria API,它使您可以以编程方式建立条件查询对象,在其中可以应用过滤规则和逻辑条件。Hibernate会话接口提供了createCriteria()方法,该方法可用于创建Criteria对象,当您的应用程序执行条件查询时,该Criteria对象返回持久性对象的类的实例。以下是一个最简单的标准查询示例,该查...