1.increment(递增)
只有在没有其他进程往同一表中插入数据时才能使用.在集群下不要使用.
在同一进程中开始执行insert操作之前,Hibernate会根据increment标志符生成器的规定,首先执行一次select操作,将表中目前最大主键读取出来,然后在此基础上加1,随后再执行若干insert操作.select只在进程中执行一次.
在程序外将数据库中的记录删除,会发现主键是从1开始的就是这个原因.
2.identity
对DB2,MySql,SQL Server,Sybase的内置标识字段提供支持.
主键值不会因为数词库表中的记录被删除而改变.identity标志符生成器所规定新的主键值由底层数据库控制生成.
3.assigned(程序设置)
数据库中的主键不按照某个增量自增,而是变成了自己在应用程序中指定的值.而且必须在应用程序中指主键赋值,否则会抛出"id for this class must be manually assigned before calling save"的异常.
4.hilo(高低位)
使用一个高/低位算法来高效地生成标志符.高/低位算法生成的标志符只在一个特定的数据库中是唯一的.在使用JTA获得的连接或者用户自行提供的连接中,不要使用这种生成器.
分享到:
相关推荐
本章主要介绍关系数据库中的代理主键(不具有业务含义),接着介绍Hibernate提供的几种内置标识符生成器的用法及适用范围。 6.1 关系数据库按主键区分不同的记录 123 6.1.1 把主键定义为自动增长标识符类型 123 ...
本章主要介绍关系数据库中的代理主键(不具有业务含义),接着介绍Hibernate提供的几种内置标识符生成器的用法及适用范围。 6.1 关系数据库按主键区分不同的记录 123 6.1.1 把主键定义为自动增长标识符类型 123 ...
- **UUID**:使用 UUID 生成器生成全局唯一标识符。 - **Native**:根据使用的数据库类型选择最合适的策略。 - **Assigned**:手动指定主键值。 ##### 2.7 JPA 主键生成策略 - **AUTO**:由实现决定。 - **IDENTITY...
8.3 Java对象在Hibernate持久化层的状态 8.3.1 临时对象的特征 8.3.2 持久化对象的特征 8.3.3 被删除对象的特征 8.3.4 游离对象的特征 8.4 Session接口的详细用法 8.4.1 Session的save()和persist()...
Hibernate提供了一系列内置的标识符生成策略,其中有些只适用于特定类型的数据库。最常见的标识符生成方式是使用自动递增序列号。对于某些类型的数据库(如HSQLDB),可以使用序列/生成器来生成这个序列号。这种策略...
### HIBERNATE - 符合Java习惯的关系数据库持久化:深入解析与实践 #### 一、概述 Hibernate是Java领域内最受欢迎的对象关系映射(ORM)框架之一,它简化了Java应用程序与关系型数据库之间的交互,使得开发人员...
8.3 Java对象在Hibernate持久化层的状态 8.3.1 临时对象的特征 8.3.2 持久化对象的特征 8.3.3 被删除对象的特征 8.3.4 游离对象的特征 8.4 Session接口的详细用法 8.4.1 Session的save()和persist()...
8.3 Java对象在Hibernate持久化层的状态 8.3.1 临时对象的特征 8.3.2 持久化对象的特征 8.3.3 被删除对象的特征 8.3.4 游离对象的特征 8.4 Session接口的详细用法 8.4.1 Session的save()和persist()...
8.3 Java对象在Hibernate持久化层的状态 8.3.1 临时对象的特征 8.3.2 持久化对象的特征 8.3.3 被删除对象的特征 8.3.4 游离对象的特征 8.4 Session接口的详细用法 8.4.1 Session的save()和persist()...
HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...
**4.1 Increment 标识符生成器** - Hibernate 会以自增的方式生成标识符。 - **优点**: 不依赖于底层数据库。 - **缺点**: 并发问题,不适合集群环境。 **4.2 Identity 标识符生成器** - 由底层数据库来负责生成...
#### Hibernate内置标识符生成器 标识符生成器负责生成实体对象的主键值。Hibernate提供了多种内置的标识符生成策略,例如`increment`(递增)、`identity`(数据库自增)和`sequence`(序列)等。 #### ...
《Hibernate - 符合Java习惯的关系数据库持久化》是一份关于Hibernate框架的详细教程,旨在帮助Java开发者理解和应用Hibernate进行数据库操作。Hibernate是Java领域中的一款流行的对象关系映射(ORM)工具,它允许...
Hibernate支持多种内置的标识符生成器,如`increment`、`native`、`sequence`等,可以根据数据库系统选择合适的生成策略。`type`属性的值可以是Hibernate预定义的类型,如`string`、`int`,它们对应Java的String和...
7. 掌握不同数据库的标识符生成器配置和使用。 8. 明确数据库表字段类型、Hibernate数据类型和Java域模型数据类型的映射。 9. 熟悉配置一对一、一对多、多对一等关联关系的方法。 10. 了解如何在Java域模型中表示...
1. **环境准备**:引入Hibernate所需的jar包,包括核心库、日志系统、XML解析器、代码生成工具和集合处理工具等。 2. **配置文件**:创建`hibernate.cfg.xml`,定义与数据库的连接信息。 3. **映射文件**:编写`.hbm...