`
- 浏览:
366414 次
- 性别:
- 来自:
广东广州
-
Hibernate 中oracle 主键的自动生成办法(笔记)
1:uuid.hex: 采用128位的算法来生成一个32位字符串。最通用的一种方式。适用于所有数据库 。在*.hbm.xml中按如下设置。
<id name="id" unsaved-value="null"></id>
xml 代码
- <id name="id" unsaved-value="null">
- <generator class="uuid.hex"/>
- </id>
2:指定参数的情况
<id name="id" unsaved-value="0"></id>
xml 代码
- <id name="id" unsaved-value="0">
- <generator class="sequence">
- <param name="sequence">SEQ_CHILD</param>
- </generator>
- </id>
3:以下是Tracylau 所写,网址如下:http://forum.iteye.com/allbloglist.php?page=5
所有的<generator></generator>的Class都是从net.sf.hibernate.id.IdentifierGenerator接口实现得到的,Class属性表示该generator是由哪种方式来生成的。生成方式包括:
increment:生成long, short或者int类型的主键,不能在cluster环境下使用。适用于所有数据库
identity:生成long, short或者int类型的主键。适用于DB2, MySQL, MS SQL Server, Sybase and HypersonicSQL
sequence :生成long, short或者int类型的主键。适用于DB2, PostgreSQL, Oracle, SAP DB, McKoi,Interbase.
hilo:生成long, short或者int类型的主键。需要提供一个数据库的表来存放生成的主键信息。当采用应用服务器的JTA提供的数据库连接或者用户自定义的数据库连接的时候,不要使用这种主键生成方式。适用于所有数据库
seqhilo:采用给定的数据库的sequence来生成long, short或者int类型的主键。适用于DB2, PostgreSQL, Oracle, SAP DB, McKoi,Interbase.
uuid.hex:采用128位的算法来生成一个32位字符串。最通用的一种方式。适用于所有数据库
uuid.string:同样采用128位的UUID算法。将生成的字符编码位16位。适用于除PostgreSQL.以外的数据库
native:根据具体连接的数据库从identity, sequence或者hilo选择一种来生成主键。适用的数据库根据选择的生成方式确定。
assigned: 交给应用自己给主键赋值。要注意的是赋值必须在调用save()方法之前完成。适用的数据库根据选择的生成方式确定。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
Hibernate学习笔记整理 以下是 Hibernate 框架的详细知识点: Hibernate 介绍 Hibernate 是一个 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到数据库表中。它提供了一个简洁的方式来访问和操作...
持久化对象的主键生成机制在JPA(Java Persistence API)中占据着重要的位置。它不仅关乎数据的唯一标识符如何确定,还与数据的存储效率及应用逻辑紧密相关。JPA通过`@GeneratedValue`注解来指定主键生成策略,提供...
- `native`:根据数据库的原生机制自动生成主键。 - `identity`:数据库提供自增功能时使用,适用于MySQL等。 - `sequence`:利用数据库的序列生成主键,适用于Oracle等。 - `increment`:由Hibernate管理,每次...
四、Hibernate主键生成方式 4.1 五种生成方式 1. assigned:由开发者手动指定主键值。 2. identity:由数据库自动生成(如MySQL的AUTO_INCREMENT)。 3. sequence:使用数据库序列生成(如Oracle)。 4. hilo:基于...
第12课 使用hibernate工具类将对象模型生成关系模型 19 第13课 ID主键生成策略 20 一、 Xml方式 20 元素(主键生成策略) 20 二、 annotateon方式 21 1、AUTO默认 21 2、IDENTITY 22 3、SEQUENCE 22 4、为Oracle指定...
Hibernate支持多种主键生成策略,包括但不限于: - **increment**:由Hibernate负责自增长。 - **identity**:基于数据库的自增策略。 - **sequence**:基于Oracle等数据库的序列。 - **native**:根据数据库类型...
通过阅读“Hibernate.txt”这份北大青鸟课堂笔记,你可以深入理解Hibernate的核心概念,掌握如何在项目中运用Hibernate进行数据持久化操作。希望这些内容能对你的Hibernate学习之路提供有力的支持。
5. **在hibernate.cfg.xml文件中添加映射文件路径**:使用`<mapping>`元素指定映射文件的位置。 6. **进行数据操作**:使用Hibernate提供的API进行增删改查等操作。 - 首先通过`Configuration`类加载配置文件。 - ...
### hibernate-note学习笔记知识点详解 #### 一、对象持久化 **1.1 概述** 对象持久化是指将程序中...以上内容覆盖了hibernate-note学习笔记中的核心知识点,对于理解Hibernate的工作原理及其实现细节有着重要的作用。
### Hibernate学习笔记知识点详解 #### Hibernate简介 - **定义**:Hibernate是一种开源的对象关系映射(ORM)框架,用于在Java应用中简化数据库操作。 - **创始人**:由Gavin King于2001年创建。 - **作用**:提供...
### Hibernate 4.3.10 版本的笔记知识点详解 #### 一、环境配置与集成 在开始深入探讨Hibernate 4.3.10的相关特性之前,我们需要确保已经正确地配置好了开发环境。根据描述中的部分信息,这里重点介绍如何在...
- **sequence:** 如果数据库支持sequence,主键由sequence生成,适用于Oracle。 - **native:** 根据数据库类型自动选择identity, sequence, hilo。 - **increment:** 发送`select max(id) from table`语句获取...
在本篇“2023年Java相关课程系列笔记之十四Hibernate学习笔记”中,我们将深入探讨Java开发中常用的持久化框架——Hibernate。这个框架由梁建全老师主讲,旨在帮助开发者更高效、便捷地进行数据库操作,弥补JDBC在...
8. **事务管理**:讨论Hibernate中的事务处理,包括自动提交、手动提交和回滚,以及事务隔离级别的概念。 通过深入学习这些章节,开发者不仅能够掌握Hibernate的基本用法,还能了解其高级特性,从而在实际开发中...
### 马士兵 Hibernate 学习笔记概览 #### 一、Hello World 示例 - **简介**:通过简单的示例程序来快速入门 Hibernate 框架。 - **步骤**: 1. 创建 Java 项目 `hibernate_0100_HelloWorld`。 2. 构建 User-...
### Hibernate学习笔记01 #### 一、Hibernate简介与安装 **Hibernate** 是一款开源的对象关系映射(Object Relational Mapping, ORM)框架,它能够有效地简化Java应用程序与数据库之间的交互,提供了一种更为优雅...
在Hibernate框架中,实体对象具有三种主要的状态:瞬时态(Transient)、持久态(Persistent)以及脱管态(Detached)。这些状态有助于理解对象与数据库之间的交互过程。 - **瞬时态**:对象尚未被持久化到数据库中...
以上是Hibernate学习笔记的概览,接下来会详细讲解映射文件的各个部分,包括如何配置实体类的属性、主键生成策略、以及如何通过实例来实现数据库的操作。通过深入学习,开发者可以更高效地管理和操作数据库,同时...
【hibernate学习笔记】 在Java开发中,Hibernate是一个非常重要的框架,它是一个开源的Object/Relational Mapping(O/R映射)框架。这个框架的主要目的是简化数据库操作,通过将Java对象与数据库表进行映射,让...