increment
用于为long, short或者int类型生成 唯一标识。只有在没有其他进程往同一张表中插入数据时
才能使用。 在集群下不要使用。
identity
对DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL的内置标识字段提供支持。 返回的标
识符是long, short 或者int类型的。
sequence
在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence), 而在Interbase中使用
生成器(generator)。返回的标识符是long, short或者 int类型的。
hilo
使用一个高/低位算法高效的生成long, short 或者 int类型的标识符。给定一个表和字段(默
认分别是 hibernate_unique_key 和next_hi)作为高位值的来源。 高/低位算法生成的标识符
只在一个特定的数据库中是唯一的。
seqhilo
使用一个高/低位算法来高效的生成long, short 或者 int类型的标识符,给定一个数据库序列
(sequence)的名字。
uuid
uses a 128-bit UUID algorithm to generate identifiers of type string that are unique
within a network (the IP address is used). The UUID is encoded as a string of 32
hexadecimal digits in length.
guid
在MS SQL Server 和 MySQL 中使用数据库生成的GUID字符串。
native
selects identity, sequence or hilo depending upon the capabilities of the underlying
database.
assigned
lets the application assign an identifier to the object before save() is called.
This is the default strategy if no <generator> element is specified.
select
retrieves a primary key, assigned by a database trigger, by selecting the row by
some unique key and retrieving the primary key value.
foreign
uses the identifier of another associated object. It is usually used in conjunction
with a <one-to-one> primary key association.
sequence-identity
a specialized sequence generation strategy that utilizes a database sequence for the
actual value generation, but combines this with JDBC3 getGeneratedKeys to return
the generated identifier value as part of the insert statement execution. Thisidstrategy is only supported on Oracle 10g drivers targeted for JDK 1.4. Comments on
these insert statements are disabled due to a bug in the Oracle drivers.
分享到:
相关推荐
以下是关于Hibernate主键生成方式的详细说明: 1. **Identity方式**:`<generator class="identity"/>` 这种方式依赖于数据库自身的自动增长机制。例如,在MySQL中,它可以与`AUTO_INCREMENT`属性配合使用。当...
在本篇内容中,我们将深入探讨"Hibernate主键策略-sequence",并结合标签中的"源码"和"工具",分析其工作原理和实际应用。 首先,让我们理解什么是序列(Sequence)。在关系型数据库中,如Oracle、PostgreSQL等,...
### 常用Hibernate主键生成策略详解 #### 一、引言 在数据库设计与操作过程中,主键是确保数据唯一性的关键要素之一。在实际应用中,开发者经常需要处理不同类型的数据库,并且需要应对各种不同的主键生成需求。...
### hibernate主键生成策略详解 #### 一、assigned **assigned** 主键生成策略意味着主键的值是由外部程序负责生成的,并且在执行 `save()` 方法之前必须明确指定一个值。在这种策略下,Hibernate 不参与主键的...
在 Hibernate 中,`generator` 属性是用于指定如何生成实体类的唯一标识(通常为主键)的一种机制。这个属性可以配置在 `hibernate.hbm.xml` 文件中的 `<id>` 标签内,它允许你选择不同的策略来生成 ID。 1. **...
以下是对Hibernate主键类型及其配置的详细说明: 1. **uuid.hex**: 这种生成器使用128位算法生成一个32位的字符串。由于其通用性,它适用于所有类型的数据库。在`.hbm.xml`映射文件中,你可以这样配置: ```xml ...
在Java的持久化框架Hibernate中,主键生成策略是一个至关重要的概念,它决定了数据库表中主键值如何自动生成。主键通常是表中唯一标识记录的一列,对于数据的完整性和一致性至关重要。以下是对Hibernate中主键生成...
### Hibernate映射主键生成策略native #### 一、引言 在ORM(对象关系映射)技术中,Hibernate作为一款流行的Java持久层框架,在处理数据持久化方面提供了丰富的功能和灵活性。其中,主键生成策略是Hibernate配置...
### Hibernate主键生成策略 #### 一、概述 在Hibernate框架中,主键生成策略是对象持久化过程中不可或缺的一部分。合理的主键生成机制不仅能够确保数据的唯一性,还能够提高系统的性能和可扩展性。本文将详细介绍...
### Hibernate 主键生成策略详解 #### 一、概述 Hibernate 是一种流行的 Java 持久化框架,它简化了数据库操作,并提供了多种主键生成策略。主键是表中的一个或多个字段组合,用于唯一标识表中的每一条记录。...
在这个场景中,“hibernate使用主键关联的一对一关系”指的是通过共享主键来实现两个实体类之间的这种一对一绑定。下面我们将深入探讨这一主题。 首先,我们需要理解一对一关系的概念。在数据库中,一对一关系意味...
本主题将深入探讨如何使用Hibernate通过主键来实现一对一的单向关联关系,并提供相关的源码分析。 首先,我们需要理解一对一关联关系的基本概念。在数据库中,一对一关系意味着两个表中的每一条记录都对应另一表中...
### Hibernate 主键生成策略 在Hibernate框架中,主键生成策略是对象持久化的重要组成部分,它主要用于自动管理和生成实体类的唯一标识(即主键)。根据给定的文件信息,我们可以详细探讨这几种主键生成策略的特点...
### Hibernate 主键生成策略与配置详解 #### 一、概述 在使用Hibernate进行持久化操作时,合理选择和配置主键生成策略对于确保数据的一致性和优化性能至关重要。本文将详细介绍几种常见的主键生成策略,并结合示例...
以上就是Hibernate主键生成的常见策略,每种策略都有其适用的场景。在实际开发中,应根据数据库类型和需求选择合适的主键生成策略,确保数据的一致性和完整性。理解并正确配置这些策略,将有助于提高程序的稳定性和...
在Java的持久化框架Hibernate中,复合主键(Composite Key)是一种特殊的数据模型,它用于表示由多个属性共同构成的唯一标识。这种设计通常出现在实体类的某些属性组合起来才能唯一确定一个对象的情况下。本篇文章将...
Native策略是一种智能选择策略,Hibernate会根据当前使用的数据库类型自动选择最合适的主键生成策略,如identity、sequence或hilo。这种方式的最大优点是灵活性和兼容性,开发者无需关心底层数据库的细节,可以专注...
### Hibernate中的Generator生成方式详解 在Hibernate框架中,对象与关系映射(ORM)是其核心功能之一,它能够将面向对象模型中的类与数据库表建立对应关系,从而实现对象和数据库之间的转换。而在持久化对象的过程...