1、identity:用于MySql数据库。特点:递增
<id name=\"id\" column=\"id\">
<generator class=\"identity\"/>
</id>
注:对于MySql数据库使用递增序列时需要在建表时对主键指定为auto_increment属性。
2、sequence:用于Oracle数据库
<id name=\"id\" column=\"id\">
<generator class=\"sequence\">
<param name=\"sequence\">序列名</param>
</generator>
</id>
3、native:跨数据库时使用,由底层方言产生。
Default.sequence为hibernate_sequence
<id name=\"id\" column=\"id\">
<generator class=\"native\"/>
</id>
注:使用native时Hibernate默认会去查找Oracle中的hibernate_sequence序列。
如果Oracle中没有该序列,连Oracle数据库时会报错。
4、hilo:通过高低位合成id,先建表hi_value,再建列next_value。必须要
有初始值。
<id name=\"id\" column=\"id\">
<generator class=\"hilo\">
<param name=\"table\">high_val</param>
<param name=\"column\">nextval</param>
<param name=\"max_lo\">5</param>
</generator>
</id>
5、sequencehilo:同过高低位合成id,建一个sequence序列,不用建表。
<id name=\"id\" column=\"id\">
<generator class=\"hilo\">
<param name=\"sequence\">high_val_seq</param>
<param name=\"max_lo\">5</param>
</generator>
</id>
6、assigned:用户自定义id;
<id name=\"id\" column=\"id\">
<generator class=\"assigned\"/>
</id>
7、foreign:用于一对一关系共享主健时,两id值一样。
分享到:
相关推荐
《使用Hibernate Code Generator提高开发效率》 在Java J2EE开发中,Hibernate作为一个强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,手动编写与数据库表对应的Java实体类、Hibernate的.hbm映射...
在 Hibernate 中,`generator` 属性是用于指定如何生成实体类的唯一标识(通常为主键)的一种机制。这个属性可以配置在 `hibernate.hbm.xml` 文件中的 `<id>` 标签内,它允许你选择不同的策略来生成 ID。 1. **...
在Hibernate中,`Generator`是负责生成主键值的策略,通常在`<id>`元素中通过`class`属性指定。不同的数据库和不同的应用场景可能需要不同的生成策略。接下来,我们将逐一介绍各种常见的生成策略及其适用场景。 ###...
Hibernate 映射文件 id 的 generator 配置方法是 Hibernate 框架中的一种重要配置,用于生成持久化类实例的唯一标识符。下面将对 Hibernate 映射文件 id 的 generator 配置方法进行详细的解释。 首先,generator ...
Hibernate中通过`@GeneratedValue(strategy = GenerationType.SEQUENCE)`和`@SequenceGenerator`进行配置。 5. ** Table **:通过一个专门的表来生成ID,适用于跨数据库平台的系统,因为它不依赖特定数据库的特性。...
注意:在Hibernate3中,第二个要求并非是Hibernate强制必须的。但最好这样做。 你不能使用一个IdentifierGenerator产生组合关键字。一个应用程序必须分配它自己的标识符。 使用<composite-id> 标签(并且内嵌元素...
在Java的持久化框架Hibernate中,主键生成策略是一个至关重要的概念,它决定了数据库表中主键值如何自动生成。主键通常是表中唯一标识记录的一列,对于数据的完整性和一致性至关重要。以下是对Hibernate中主键生成...
Hibernate 完整使用教程 Hibernate 是一种流行的开源持久层框架,允许开发者使用面向...composite-id 是 Hibernate 中的一种复合标识符,用于标识对象模型的唯一性。composite-id 可以通过 Java 类或 XML 文件来定义。
* 使用 session.merge(object),Hibernate 里面自带的方法,推荐使用。 了解 Hibernate 中的常见异常是非常重要的。通过了解这些异常的原因和解决方案,我们可以更好地使用 Hibernate,提高开发效率和质量。
idgenerator是基于redis的id生成器 dgenerator是基于redis的id生成器 安装 取得 go get github.com/lbfatcgf/idgenerator 快速开始 package main import ( "fmt" "net/http" "os" "os/signal" "syscall" ...
通过在Hibernate映射文件中正确配置序列生成器,可以确保每个实体都有一个唯一的标识符,同时避免了手动管理ID的复杂性和潜在错误。这种方法尤其适用于大型企业级应用,其中数据完整性是至关重要的。理解并掌握这一...
在Hibernate中,可以使用`<generator class="sequence">`来指定使用Sequence作为主键生成策略,并通过`<param name="sequence">SEQ_CHILD</param>`来指定具体的序列名称。这种方式适用于需要生成大量连续主键值的...
虽然`<param name="sequence">CREDIT_RECORD_id</param>`在这个上下文中并不生效,但其含义是在使用特定于Oracle的sequence策略时指定序列名。实际上,在使用“native”策略时,Hibernate会根据当前数据库环境自动...
在这个主题中,我们主要关注的是Hibernate的配置文件`hibernate.properties`以及它的DTD(Document Type Definition)文件,包括`hibernate-configuration-3.0.dtd`和`hibernate-mapping-3.0.dtd`。 首先,`...
- 介绍如何在Servlet中使用Hibernate来处理业务逻辑,并将结果呈现给用户。 - **1.4.3 部署与测试** - 提供部署和测试该web应用的具体步骤。 - **1.5 总结** - 对本章内容进行总结,并强调了理解Hibernate基本...
在本篇文章中,我们将深入探讨MyBatis Generator的使用方法、主要功能以及如何结合MyBatis框架来提升开发效率。 一、MyBatis Generator简介 MyBatis Generator是一个基于Java的代码生成器,它能够根据数据库表结构...
一个用Java 编写简单的自定义ID 生成器IDGenerator
Hibernate 是一个流行的 ORM(Object-Relational Mapping)框架,用于简化 Java 应用程序中的数据库交互。 Hibernate 的配置文件是其核心组件之一,用于定义 Hibernate 的运行期参数。下面我们将详细介绍 Hibernate ...