`
tanlingcau
  • 浏览: 138032 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate内置持久化标志符生成器的区别

阅读更多
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:对象持久化技术孙卫琴第二版part2

    本章主要介绍关系数据库中的代理主键(不具有业务含义),接着介绍Hibernate提供的几种内置标识符生成器的用法及适用范围。 6.1 关系数据库按主键区分不同的记录 123 6.1.1 把主键定义为自动增长标识符类型 123 ...

    精通Hibernate:对象持久化技术第二版part3

    本章主要介绍关系数据库中的代理主键(不具有业务含义),接着介绍Hibernate提供的几种内置标识符生成器的用法及适用范围。 6.1 关系数据库按主键区分不同的记录 123 6.1.1 把主键定义为自动增长标识符类型 123 ...

    hibernate数据持久化组件

    - **UUID**:使用 UUID 生成器生成全局唯一标识符。 - **Native**:根据使用的数据库类型选择最合适的策略。 - **Assigned**:手动指定主键值。 ##### 2.7 JPA 主键生成策略 - **AUTO**:由实现决定。 - **IDENTITY...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part2

     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 Tutorial 03 (Object Identifier).pdf

    Hibernate提供了一系列内置的标识符生成策略,其中有些只适用于特定类型的数据库。最常见的标识符生成方式是使用自动递增序列号。对于某些类型的数据库(如HSQLDB),可以使用序列/生成器来生成这个序列号。这种策略...

    HIBERNATE - 符合Java习惯的关系数据库持久化

    ### HIBERNATE - 符合Java习惯的关系数据库持久化:深入解析与实践 #### 一、概述 Hibernate是Java领域内最受欢迎的对象关系映射(ORM)框架之一,它简化了Java应用程序与关系型数据库之间的交互,使得开发人员...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part4

     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 对象持久化技术详解(第2版).part3

     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 对象持久化技术详解(第2版).part1.rar

     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_3.2.0_符合Java习惯的关系数据库持久化

    HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.2 -------------------------------------------------------------------------------- 目录 前言 1. 翻译说明 2. 版权声明 1. Hibernate...

    最经典的hibernate教程

    **4.1 Increment 标识符生成器** - Hibernate 会以自增的方式生成标识符。 - **优点**: 不依赖于底层数据库。 - **缺点**: 并发问题,不适合集群环境。 **4.2 Identity 标识符生成器** - 由底层数据库来负责生成...

    Hibernate学习资料

    #### Hibernate内置标识符生成器 标识符生成器负责生成实体对象的主键值。Hibernate提供了多种内置的标识符生成策略,例如`increment`(递增)、`identity`(数据库自增)和`sequence`(序列)等。 #### ...

    HIBERNATE - 符合Java习惯的关系数据库持久化.docx

    《Hibernate - 符合Java习惯的关系数据库持久化》是一份关于Hibernate框架的详细教程,旨在帮助Java开发者理解和应用Hibernate进行数据库操作。Hibernate是Java领域中的一款流行的对象关系映射(ORM)工具,它允许...

    J2EE Hibernate-2.ppt

    Hibernate支持多种内置的标识符生成器,如`increment`、`native`、`sequence`等,可以根据数据库系统选择合适的生成策略。`type`属性的值可以是Hibernate预定义的类型,如`string`、`int`,它们对应Java的String和...

    课程指标要求-Hibernate技术.doc

    7. 掌握不同数据库的标识符生成器配置和使用。 8. 明确数据库表字段类型、Hibernate数据类型和Java域模型数据类型的映射。 9. 熟悉配置一对一、一对多、多对一等关联关系的方法。 10. 了解如何在Java域模型中表示...

    Hibernate 基础.ppt

    1. **环境准备**:引入Hibernate所需的jar包,包括核心库、日志系统、XML解析器、代码生成工具和集合处理工具等。 2. **配置文件**:创建`hibernate.cfg.xml`,定义与数据库的连接信息。 3. **映射文件**:编写`.hbm...

Global site tag (gtag.js) - Google Analytics