摘要:
Hibernate缓存通过将对象集中在缓存中来提高应用程序的性能。Hibernate中主要有两种类型的缓存:一级缓存和二级缓存。 一级缓存 Session对象保存第一级缓存数据,第一级缓存默认情况下启用。 第一级缓存数据将不可用于整个应用程序。这是因为应用程序可以使用很多会话(Session)对象。 阅读全文
posted @ 2018-08-23 10:50
Borter
阅读(111)
评论(0)
推荐(0)
摘要:
Hibernate标准(Criteria)查询语言(HCQL)用于根据具体条件获取记录。Criteria接口提供了应用标准的方法,例如检索薪水大于50000的表的所有记录。 HCQL的优势 HCQL提供了添加条件的方法,因此,java程序员可以很容易添加条件。 java程序员能够在查询中根据需要添加 阅读全文
posted @ 2018-08-23 10:47
Borter
阅读(194)
评论(0)
推荐(1)
摘要:
hibernate命名的查询是通过一些有意义的名称来使用查询的方式。就类似于使用别名一样。 Hibernate框架提供命名查询的概念,以便应用程序员不需要将查询分散到所有的java代码,进一步提高代码的可维护性。 在hibernate中定义命名查询有两种方法: 通过注释 通过映射文件 Hiberna 阅读全文
posted @ 2018-08-23 10:47
Borter
阅读(359)
评论(0)
推荐(0)
摘要:
Hibernate查询语言(HQL)与SQL(结构化查询语言)相同,但不依赖于数据库表。 我们在HQL中使用类名,而不是表名。 所以是数据库独立的查询语言。 HQL的优点 HQL有很多优点。 它们如下: 数据库独立 支持多态查询 易于Java程序员学习 查询接口 它是一个面向对象的Hibernate 阅读全文
posted @ 2018-08-23 10:46
Borter
阅读(224)
评论(0)
推荐(0)
摘要:
事务只是一个工作单位(单元)。 在这种情况下,如果一个步骤失败,则整个事务失败(称为原子性)。 ACID属性(原子性,一致性,隔离性和持久性)可以描述事务。 Hibernate中的事务接口 在hibernate框架中,我们有Transaction接口来定义工作单元。 它维护了事务实现(JTA,JDB 阅读全文
posted @ 2018-08-23 10:45
Borter
阅读(99)
评论(0)
推荐(0)
摘要:
在hibernate中我们可以通过两种方式来执行一对一映射: 通过many-to-one元素标签 通过one-to-one元素标签 在这里,我们将通过多对一的many-to-one元素进行一对一的映射。 在这种情况下,在主表中创建外键。 在这个例子中,一个员工只能有一个地址,一个地址只能属于一个员工 阅读全文
posted @ 2018-08-23 10:44
Borter
阅读(1468)
评论(0)
推荐(0)
摘要:
正如我们在前面的例子中讨论过的,在hibernate中执行一对一映射有两种方法: 通过many-to-one元素 通过one-to-one元素 这里,我们将通过one-to-one元素进行一对一的映射。 在这种情况下,不会在主表中创建外键。 在这个例子中,一个员工只能有一个地址,一个地址只能属于一个 阅读全文
posted @ 2018-08-23 10:44
Borter
阅读(2700)
评论(0)
推荐(0)
摘要:
在组件映射中,我们将依赖对象映射作为组件。 组件是存储为值而不是实体引用的对象。 如果从属对象没有主键,则要使用此方法。 它用于组合(HAS-A关系)的情况下,这就是为什么把它称为组件。 下面来看看看有HAS-A关系的类。 Hibernate组件映射示例 创建一个Java项目:componentma 阅读全文
posted @ 2018-08-23 10:43
Borter
阅读(156)
评论(0)
推荐(0)
摘要:
我们可以使用set,bag,map等来映射多对多关系。在这里,我们将使用map来进行多对多映射。 在这种情况下,将创建三个表。 多对多映射示例 我们需要创建以下文件来映射map元素。首先创建一个项目:ternaryobject,它们分别如下 - 项目:ternaryobject的目录结构如下图所示 阅读全文
posted @ 2018-08-23 10:42
Borter
阅读(1026)
评论(0)
推荐(0)
摘要:
Hibernate允许我们将Map元素与RDBMS进行映射。 我们知道,List和Map是基于索引的集合。 在map的情况下,索引列作为键,元素列用作值。 使用xml文件在集合映射中映射Map的示例 现在,我们创建一个Java工程:ternarystring,项目的完整目录结构如下图所示 - 您需要 阅读全文
posted @ 2018-08-23 10:41
Borter
阅读(589)
评论(0)
推荐(0)
摘要:
如果持久类具有Set对象,可以在映射文件中使用set元素映射Set集合。 set元素不需要索引元素。 List和Set之间的区别是: Set只存储唯一的值。 我们来看看我们如何在映射文件中实现集合: XML XML 集合映射中映射集合的示例 在这个例子中,我们将看到set的集合映射的完整示例。 这是 阅读全文
posted @ 2018-08-23 10:40
Borter
阅读(443)
评论(0)
推荐(0)
摘要:
如果持久化类设置了包含实体引用的对象,则需要使用一对多关联来映射集合(Set)元素。 我们可以通过任意一个Set集合来映射这个列表对象。 下面来看看看设置对象的持久化类。 在这种情况下,一个问题可以有很多答案,每个答案可能有自己的信息,这就是为什么使用set标签元素来表示一个答案(Answer类)集 阅读全文
posted @ 2018-08-23 10:40
Borter
阅读(858)
评论(0)
推荐(0)
摘要:
如果持久化类具有包含实体引用的列表对象,则需要使用一对多关联来映射列表元素。 我们可以通过列表(list)或包(bag)来映射这个列表对象。 请注意,bag不是基于索引的,而list是基于索引的。 在这里,我们使用论坛的场景:论坛中一个问题有多个答案。 下面来看看看具有列表对象的持久化类。 在这种情 阅读全文
posted @ 2018-08-23 10:39
Borter
阅读(414)
评论(0)
推荐(0)
摘要:
如果持久类有List对象,我们可以通过列表或者bag元素在映射文件中映射。 这个包(bag)就像List一样,但它不需要索引元素。 在这里,我们使用论坛的场景: 论坛中一个问题有多个答案。 我们来看看如何在映射文件中实现包(bag): Java Java 在集合映射中映射包的示例 在这个例子中,我们 阅读全文
posted @ 2018-08-23 10:38
Borter
阅读(459)
评论(0)
推荐(0)
摘要:
如果持久化类具有包含实体引用的列表(List)对象,则需要使用一对多关联来映射列表元素。 在这里,我们使用论坛应用场景,在论坛中一个问题有多个答案。 在这种情况下,一个问题可以有多个答案,每个答案可能有自己的信息,这就是为什么在持久化类中使用列表(包含Answer类的引用)来表示一系列答案。 下面来 阅读全文
posted @ 2018-08-23 10:36
Borter
阅读(1557)
评论(0)
推荐(0)
摘要:
可以在Hibernate中映射持久类的集合元素。 您需要从以下类型之一声明持久类中的集合类型: java.util.List java.util.Set java.util.SortedSet java.util.Map java.util.SortedMap java.util.Collectio 阅读全文
posted @ 2018-08-23 10:35
Borter
阅读(126)
评论(0)
推荐(0)
摘要:
如果持久化类具有List对象,我们可以通过映射文件中的类的<list>元素或注释来映射List。 在这里,我们正在使用论坛的场景,其中一个问题有多个答案。 在这里,我们使用论坛的场景,其中一个问题有多个答案。我们来看看如何在映射文件中实现列表(List): XML XML 注: List 和 Map 阅读全文
posted @ 2018-08-23 10:35
Borter
阅读(1902)
评论(0)
推荐(0)
摘要:
在上一文章中,我们使用xml文件将继承层次映射到一个表。 在这里,我们将使用注释来执行同样的任务。需要使用@Inheritance(strategy = InheritanceType.SINGLE_TABLE),@DiscriminatorColumn和@DiscriminatorValue注释, 阅读全文
posted @ 2018-08-23 10:34
Borter
阅读(744)
评论(0)
推荐(0)
摘要:
在每个子类一张表的情况下,表是根据持久类创建的,但是它们使用主键和外键来重新定义。 所以关系中不会有重复的列。 我们需要在子类中的使用@PrimaryKeyJoinColumn注释和在父类指定@Inheritance(strategy = InheritanceType.JOINED)。 下面来看看 阅读全文
posted @ 2018-08-23 10:33
Borter
阅读(412)
评论(0)
推荐(0)
摘要:
在每个类创建一张表的情况下, 表中不使用Null值的列。 这种方法的缺点是在子类表中创建了重复的列。 在这里,我们需要在父类中使用@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)注释,并在子类中使用@AttributeOverrides 阅读全文
posted @ 2018-08-23 10:32
Borter
阅读(232)
评论(0)
推荐(0)
摘要:
在每个子类一张表的情况下,子类映射表与主键和外键关系与父类映射表相关。 类的<joined-subclass>元素用于使用主键和外键关系将子类与父对象进行映射。 在这个例子中,我们将使用hb2ddl.auto属性自动生成表。 所以我们不需要手动在数据库中创建表。 下面来看看看我们要映射的类的层次结构 阅读全文
posted @ 2018-08-23 10:32
Borter
阅读(242)
评论(0)
推荐(0)
摘要:
在每个具体类一个表中,数据库中将有三个表但彼此之间没有关系(关联)。 根据具体类策略将表格映射到表有两种方法。 由union-subclass元素指定 通过自我为每个类创建表 我们来了解映射的层次结构。 下面来看看看我们如何通过union-subclass元素映射这个层次结构, employee.h 阅读全文
posted @ 2018-08-23 10:29
Borter
阅读(1174)
评论(0)
推荐(0)
摘要:
通过这种继承策略,我们可以通过单表映射整个层次结构。 这里,在表中创建一个额外的列(也称为discriminator列)来标识该类。 让我们先了解问题。下面给出的整个层次类映射到数据库的一个表中图解说明。 这个层次结构中有三个类。Employee是Regular_Employee和Contract_ 阅读全文
posted @ 2018-08-23 10:28
Borter
阅读(229)
评论(0)
推荐(0)
摘要:
我们可以将继承层次结构类与数据库的表映射。 在hibernate中定义了三个继承映射策略: 每个层次类一张表 每个具体类一张表 每个子类一张表 1. 表每个层次类 在每个层次映射一张表中,需要单个表来映射整个层次结构,添加一个额外的列(称为标识符列)来标识该类。 但可空(null)值存储在表中。 使 阅读全文
posted @ 2018-08-23 10:27
Borter
阅读(75)
评论(0)
推荐(0)
摘要:
Hibernate是一个开源,轻量级的ORM(对象关系映射)工具。Hibernate框架简化了java应用程序与数据库交互的开发。 ORM工具简化了数据创建,数据处理和数据访问。它是将对象映射到数据库中存储的数据(表)的编程技术。 注:为什么会有这篇教程文章?答:只是想写一篇最NB的Hibernat 阅读全文
posted @ 2018-08-23 10:26
Borter
阅读(321)
评论(0)
推荐(0)
摘要:
Hibernate第二级缓存是会话工厂的所有会话(Session)对象所使用的公共缓存。 如果您有来自会话工厂的多个会话(Session)对象,就可以操作会话工厂中的第二级缓存的数据。 SessionFactory类用于保存二级缓存数据。 它是所有会话对象的全局,默认情况下是不启用的。 不同厂商提供 阅读全文
posted @ 2018-08-23 10:24
Borter
阅读(146)
评论(0)
推荐(0)
摘要:
我们知道,Log4j和Logback框架可用于支持日志记录hibernate,使用log4j有两种执行日志记录的方法: 在这里,我们将使用log4j通过属性(properties)文件启用日志记录。 使用属性文件执行Log4j执行Hibernate日志记录的步骤 使用属性(properties)文件 阅读全文
posted @ 2018-08-23 10:23
Borter
阅读(293)
评论(0)
推荐(0)
摘要:
在Hibernate中,id元素的<generator>子元素用于生成持久化类的对象的唯一标识符。 Hibernate框架中定义了许多生成器类。 所有的生成器类都实现了org.hibernate.id.IdentifierGenerator接口。 应用程序员可以通过实现IdentifierGener 阅读全文
posted @ 2018-08-23 10:22
Borter
阅读(118)
评论(0)
推荐(0)
摘要:
日志记录使程序员能够将日志详细信息永久写入文件。 Log4j和Logback框架可以在hibernate框架中使用来支持日志记录。 使用log4j执行日志记录有两种方法: 通过log4j.xml文件(或) 通过log4j.properties文件 使用xml文件执行Log4j执行Hibernate日 阅读全文
posted @ 2018-08-23 10:22
Borter
阅读(348)
评论(0)
推荐(0)
摘要:
在本文中,我们将学习使用hibernate创建一个Web应用程序。 对于创建Web应用程序,我们使用JSP表示逻辑层,使用Bean类表示数据,以及使用DAO类操作数据库。在hibernate中创建简单的应用程序时,不需要在hibernate中执行额外的操作来创建Web应用程序。 在这个示例中,我们使 阅读全文
posted @ 2018-08-23 10:21
Borter
阅读(484)
评论(0)
推荐(0)
摘要:
可以使用注释创建hibernate应用程序。 有许多注释可用于创建hibernate应用程序,如@Entity,@Id,@Table等。 Hibernate注释基于JPA 2规范,并支持所有功能。所有JPA注释都在javax.persistence.*包中定义。 Hibernate EntityMa 阅读全文
posted @ 2018-08-23 10:20
Borter
阅读(232)
评论(0)
推荐(0)
摘要:
在第一个Hibernate入门示例程序中,我们将使用eclipse IDE创建一个简单的hibernate应用程序示例。要在Eclipse IDE中创建第一个hibernate应用程序,需要遵循以下步骤: 重要提示:按照惯例,易百教程的每个入门教程程序都会详细介绍对应环境的安装,配置和运行步骤,以帮 阅读全文
posted @ 2018-08-23 10:19
Borter
阅读(149)
评论(0)
推荐(0)
摘要:
Hibernate架构包括许多对象持久对象,会话工厂,事务工厂,连接工厂,会话,事务等。 hibernate架构中有4层Java应用层,hibernate框架层,反手api层和数据库层。请参见hibernate架构图: 这是Hibernate的高级架构,具有映射文件和配置文件。 Hibernate框 阅读全文
posted @ 2018-08-23 10:18
Borter
阅读(1391)
评论(0)
推荐(0)
浙公网安备 33010602011771号