hibernate的映射文件提荣了如下主键生成机制映射:
1,Assigned 主键由应用逻辑产生,数据交由hibernate保存时,主键值已经设置完毕无需hibernate干预。
2,hilo 通过hi/lo算法实现的逐渐生成机制,需要额外的数据库表保存主键生成历史状态。
3,seqhilo 与hilo类似,通过hi/lo算法实现的主键生成机制,只是主键历史状态保存在Sequence中,适用于支持Sequence的数据库,例如Oracle
4,increment 主键按数字顺序递增,此方式的实现机制为再当前的应用实例中维持一个变量,以保存当前的最大值,之后每次需要生成主键的时候将此值加1作为主键。问题在于再多个实例同时访问一个数据库会产生重复主键,所以避免一个数据库有多个实力访问。请慎用。
5,identity 采用数据库自身生成机制。
6,Sequence 采用数据库提供的Sequence机制
7,由hibernate自动根据数据库适配器中的定义,采用identity,hilo,Sequence中的其一。
8,uuid.hex 有hibernate基于128位的唯一值产生算法,根据当前设配ip,time,jvm启动时间,内部自增量等4个参数生成十六进制数值,作为主键。
9,uuid.hex 和8类似。只是生成的主键没有进行编码。
10,foreign 使用外部表的字段作为主键。
11,select 对于使用触发器生成主键的遗留机制。
分享到:
相关推荐
【Hibernate 基础】是Java开发中一个重要的部分,主要关注如何将对象模型与关系数据库进行映射,以简化数据库操作。本PPT由传智播客制作,旨在帮助学习者掌握Hibernate的基础知识和应用。 首先,我们需要理解基于B/...
本篇文章将深入探讨`Hibernate基础jar包`的构成,以及它们在Java Hibernate框架中的作用。 首先,Hibernate的核心jar包是实现ORM功能的基础。这些jar包包括但不限于以下: 1. **hibernate-core.jar**:这是...
在这个“hibernate基础jar包”中,包含了运行Hibernate4应用程序所需的核心库。 1. Hibernate Core:这是Hibernate的基础组件,包含了处理数据库会话、对象持久化和查询等核心功能。主要的类和接口包括...
在 Hibernate 中,每个 Java 类通常对应数据库中的一张表,而类的实例对应表中的记录。通过使用注解或 XML 映射文件,我们可以定义类与表之间的映射关系。例如,使用 `@Entity` 注解标记一个类为实体类,`@Table` ...
### Hibernate基础知识点详解 #### 一、什么是对象关系映射(ORM)以及为什么使用ORM? 在企业级应用开发中,持久层(persistence layer)占据了非常重要的地位。它主要负责处理与数据库之间的交互,包括数据的...
通过阅读`纯手写hibernate.txt`文档,观看`hibernate基础day01.wmv`视频,实践`hibernate-hand`中的示例,你可以逐步掌握Hibernate的基本用法和核心概念。记住,理论学习与实际操作相结合,才能更好地理解和掌握这个...
记录 PO po s1 PO 数据库 ...
在IT行业中,Spring和Hibernate是两个非常重要的框架,它们分别在应用层和数据持久化层发挥着关键作用。...实践这些步骤,不仅可以帮助你实现简单的添加记录功能,还能为你在更复杂的项目中打下坚实的基础。
**Hibernate基础知识** 1. **什么是Hibernate**:Hibernate是一个开源的Java ORM框架,它简化了Java应用与关系数据库之间的交互。通过提供一套API,Hibernate可以将Java对象自动持久化到关系数据库中,反之亦然,...
2. **数据访问层与Hibernate的角色**: - Hibernate作为持久化层的实现框架,负责将Java对象映射到数据库表,简化数据操作。 3. **软件模型**: - **概念模型**:描述业务领域的实体和它们的关系,不涉及行为。 ...
这些库的组合为开发人员提供了一个完整的框架,便于构建基于Hibernate和Struts2的Java Web应用,涵盖了数据持久化、业务逻辑处理、视图渲染、数据库连接以及日志记录等多个方面。在实际项目中,开发者可以根据具体...
本教程旨在为初学者提供一个基础的SSH(Struts2、Hibernate、Spring)整合学习路径。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,主要用于处理用户请求和控制应用程序流程。它...
Hibernate是一种开源的ORM框架,它允许开发者将Java类映射到数据库表,将Java对象映射到数据库记录。这样,我们可以通过操作Java对象来完成对数据库的操作,避免了直接编写SQL语句的繁琐工作,提高了开发效率。 2....