`

Hibernate中的内置标识符的生成器的用法

 
阅读更多

1.  increment标识符生成器
•不依赖于底层的数据库系统,所以适合所有的数据库
•适合只有单个的Hibernate应用进程访问同一个数据库的情况,在集群环境下不支持使用
•OID必须为long,int,short

自增
@Id
	@GeneratedValue(generator = "generator")
	@GenericGenerator(name = "generator", strategy = "increment")
	@Column(name = "ADMINLOG_ID", unique = true, nullable = false, precision = 22, scale = 0)
	public Integer getAdminlogId() {
		return this.adminlogId;
	}
2. identity标识符生成器
•依赖底层数据库系统,所以只支持底层数据库系统必须要支持自动增长字段类型,这些数据库有:DB2,MySQL,SQL Server,Sybase等
•OID必须为long,int或short
•用的很多

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name = "ADMINLOG_ID", unique = true, nullable = false, precision = 22, scale = 0)
	public Integer getAdminlogId() {
		return this.adminlogId;
	}  


3.  sequence标识符生成器(序列)
•sequence生成标识符的机制依赖于底层数据库的序列,所以,要求底层的数据库必须要支持序列。支持序列的数据库包括:Oracle,DB2
•用的也相对比较多
 
@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE,generator="PROMOTION_SEQ")        
	@SequenceGenerator(name="PROMOTION_SEQ",sequenceName="SEQ_T_APPLICATION") 
	@Column(name = "ADMINLOG_ID", unique = true, nullable = false, precision = 22, scale = 0)
	public Integer getAdminlogId() {
		return this.adminlogId;
	}

4.  native标识符生成器
•native能根据底层数据库系统的类型,自动选择合适的标识符生成器,所以很适合于跨数据库平台开发,也就是应用需要连接多种数据库系统的场合
•OID必须为long,int,short,要不就会抛异常和上面的一样
•用的很多
分享到:
评论

相关推荐

    Hibernate内置标识符生成器

    1. Increment 标识符生成器:这种生成器适用于逻辑主键,它在 Hibernate 初始化时获取表中最大 ID,然后在插入新记录时递增。但这种方法不适用于多线程或分布式环境,因为可能会导致并发问题,即多个进程可能会同时...

    精通hibernate:对象持久化技术孙卫琴第二版part2

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

    Hibernate Tutorial 03 (Object Identifier).pdf

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

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

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

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

    6.4 Hibernate的内置标识符生成器的用法  6.4.1 increment标识符生成器  6.4.2 identity标识符生成器  6.4.3 sequence标识符生成器  6.4.4 hilo标识符生成器  6.4.5 native标识符生成器  6.5 映射自然主键  ...

    Hibernate学习资料

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

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

    6.4 Hibernate的内置标识符生成器的用法  6.4.1 increment标识符生成器  6.4.2 identity标识符生成器  6.4.3 sequence标识符生成器  6.4.4 hilo标识符生成器  6.4.5 native标识符生成器  6.5 映射自然主键  ...

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

    6.4 Hibernate的内置标识符生成器的用法  6.4.1 increment标识符生成器  6.4.2 identity标识符生成器  6.4.3 sequence标识符生成器  6.4.4 hilo标识符生成器  6.4.5 native标识符生成器  6.5 映射自然主键  ...

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

    6.4 Hibernate的内置标识符生成器的用法  6.4.1 increment标识符生成器  6.4.2 identity标识符生成器  6.4.3 sequence标识符生成器  6.4.4 hilo标识符生成器  6.4.5 native标识符生成器  6.5 映射自然主键  ...

    hibernate annotation 中文文档

    - **4.1.2 内建约束**:Hibernate 验证器内置了一些常见的约束注解,如 `@NotNull`、`@Size` 等。 - **4.1.3 错误信息**:可以通过 `@Constraint` 注解的 `message` 属性来定义约束违反时的错误消息。 - **4.1.4 ...

    J2EE Hibernate-2.ppt

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

    hibernate教程

    本文档主要介绍了使用Hibernate进行注解式开发的方法,并且针对Hibernate的基本使用及其配置进行了详尽的解释。Hibernate作为一个流行的Java持久层框架,提供了对象关系映射(ORM)的功能,使得Java应用程序能够更加...

    hibernate说明文档

    #### Hibernate标识符生成器 Hibernate提供了多种内置的标识符生成策略,用于处理主键的生成: - **increment**: 自动递增策略,适用于代理主键,每次增加1,仅限于`long`, `int`, `short`类型。 - **identity**: ...

    Hibernate映射文件id的generator配置方法

    * sequence(序列):在 DB2, PostgreSQL, Oracle, SAP DB, McKoi 中使用序列(sequence),而在 Interbase 中使用生成器(generator)。返回的标识符是 long, short 或者 int 类型的。 * assigned(自行分配):...

    hibernate_3.2_官方中文参考手册.

    - **5.1.4.6 触发器实现的主键生成器**:利用数据库触发器自动生成主键。 - **5.1.5 composite-id**:复合主键的映射。 - **5.1.6 鉴别器**:用于多态继承时区分具体子类。 - **5.1.7 版本**:乐观锁机制,防止...

    达内HIBERNATE学习笔记

    根据提供的信息,我们可以总结出以下关于达内HIBERNATE学习笔记的重要知识点: ...通过这些知识点的学习,可以深入理解Hibernate框架的核心技术和应用场景,帮助开发者更好地掌握Hibernate的使用方法。

    hibernate的映射文件配置

    除了内置的主键生成策略,开发者还可以通过扩展Hibernate的类来自定义主键生成器。这允许更灵活地控制主键的生成逻辑,满足特定业务场景的需求。具体实现细节可参考相关文档或社区资源。 总之,Hibernate映射文件的...

    hibernate_-annotations_中文帮助文档.doc

    《Hibernate Annotations 中文帮助文档》提供了关于Hibernate框架中注解使用的详细指南,尤其适合那些英语阅读困难的开发者。文档涵盖了从创建注解项目到映射各种数据库元素、处理继承关系、映射关联、以及使用...

    hibernate annotation帮助文档

    - **Hibernate 基于事件的验证**:使用 `org.hibernate.event.spi` 包中的事件监听器接口来实现基于事件的验证。 - **程序级验证**:可以在业务逻辑中显式地调用验证方法,如 `javax.validation.Validator`。 - *...

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

    ### HIBERNATE - 符合Java习惯的关系数据库持久化 ...不仅涵盖了Hibernate的基本使用方法,还深入探讨了复杂的映射策略、配置选项以及高级主题,旨在帮助读者全面掌握Hibernate,并能够在实际项目中灵活运用这些技术。

Global site tag (gtag.js) - Google Analytics