`

关于hibernate在处理oracle序列的时候遇到的一些问题分析

 
阅读更多

现象与该文类似:http://www.cnblogs.com/fangwenyu/archive/2011/08/01/2123929.html

 

上文的解释没有问题

DBSequence*allocationSize<= IDs < (DBSequence+1)*allocationSize

只有当id到达下个序列值*allocationSize时,序列值才会自增1。

当然上述公式是在sequence没有cache的情况下,如果cache=20,

上述公式左右两边还要分别乘以cache的值,因为序列会预存到cache中。

 

测试了下web项目和非web项目,当hb和oracle是持久连接的,除了第一次,后续每次入值主键都是自增1并非是增加allocationSize的值,如果重新连接hb和oracle,则主键自增到下个allocationSize的值。

分享到:
评论

相关推荐

    在hibernate中实现oracle的自动增长

    为了在Hibernate中利用Oracle的序列(sequence)特性,需要在Hibernate的映射文件中进行相应的配置。以下是一个示例,展示了如何为`Department`实体类配置序列生成器(sequence generator): ```xml &lt;hibernate-...

    oracle自增序列

    - **批量数据处理**:在处理大量数据时,序列可以帮助快速生成一系列唯一的标识符。 总之,Oracle自增序列是一种非常实用的功能,在实际开发中有着广泛的应用。掌握如何正确创建和使用序列对于提高数据库应用程序的...

    基于struts2_hibernate3+oracle.1_dwr开发的学生管理系统

    《基于Struts2_Hibernate3+Oracle.1_DWR的学生管理系统详解》 在现代软件开发领域,企业级应用系统的构建通常依赖于成熟的框架和技术栈。本文将深入探讨一个基于Struts2、Hibernate3和Oracle数据库,结合Direct Web...

    hibernate连接oracle数据库.doc

    【hibernate 连接 oracle 数据库】 一、Hibernate 概述 Hibernate 是一个流行的 Java 对象关系映射(ORM)框架,它提供了一种在 Java 应用程序中管理和操作关系数据库的方法。ORM 技术的核心思想是将面向对象的模型...

    hibernate连接oracle数据库.pdf

    ### Hibernate 连接 Oracle 数据库的关键知识点 #### 1. Hibernate 概述 - **ORM概念**:对象关系映射(Object/Relational Mapping,简称ORM)是一种编程技术,用于将对象模型与关系型数据库之间的数据进行转换。...

    Struts2.3.6+hibernate4.3.5+Spring 4.0.5+oracle 10g的集成

    这个项目是关于将Struts2.3.6、Hibernate4.3.5、Spring 4.0.5框架与Oracle 10g数据库集成的一个实例。这个集成过程涉及到多个步骤,包括配置校验、国际化、数据导出到Excel,以及实现用户管理功能如添加、修改、删除...

    hibernate映射主键生成策略native

    在ORM(对象关系映射)技术中,Hibernate作为一款流行的Java持久层框架,在处理数据持久化方面提供了丰富的功能和灵活性。其中,主键生成策略是Hibernate配置中的一个重要部分,它决定了表中的主键值如何生成。本文...

    hibernate基础jar包

    7. 异常处理:Hibernate提供了一套自己的异常体系,如HibernateException、ConstraintViolationException等,这些都是在处理数据库操作时可能会遇到的问题。 8. 缓存支持:Hibernate支持二级缓存,可能会包含...

    Hibernate Oracle sequence的使用技巧

    本文将详细介绍如何在Hibernate中使用Oracle sequence,以及在使用过程中应注意的一些事项。 首先,我们来看如何为不同的表创建各自的sequence。在Oracle数据库中,你可以通过SQL语句创建一个sequence,例如: ```...

    快速Java和Oracle集成SSH开发注意问题.pdf

    ### 快速Java和Oracle集成SSH开发注意问题 #### Oracle基本操作 **1. 登录** - 使用ORACLE系统自带管理员(SYSTEM)用户登录,权限设置为DBA(拥有广泛的权限)。通常,在进行数据库管理操作时,推荐使用具有...

    Hibernate主键生成方式

    这种方式简化了开发,但也可能导致在不同数据库间迁移时遇到问题。 6. **UUID方式**:`&lt;generator class="uuid.hex"/&gt;` 这种方式生成的是128位的UUID,以32个十六进制字符表示。UUID是全局唯一的,可以在分布式环境...

    oracle-SpringBoot Oracle示例-Samples.zip

    标题中的"oracle-SpringBoot Oracle示例-Samples.zip"表明这是一个关于如何在SpringBoot应用中集成和使用Oracle数据库的示例代码集合。这个压缩包很可能包含了一系列Java代码、配置文件和其他必要的资源,用于演示...

    生成基于Oracle的jBPM数据库脚本

    在生成基于Oracle的jBPM数据库脚本的过程中,我们需要对jBPM的环境进行一系列配置,以便使其能够与Oracle数据库进行交互。以下是详细步骤和涉及的知识点: 1. **下载和解压jBPM Starters kit**: - jBPM Starters ...

    Hibernate操作Oarcle中Clob、Blob字段小结

    总之,理解并熟练掌握Hibernate对Oracle中的Clob和Blob字段的操作,是Java开发人员在处理大数据时必不可少的技能,这有助于确保数据的正确存储和高效访问。通过阅读和分析提供的源码,我们可以更深入地理解其底层...

    Hibernate主键策略-sequence

    然而,如果在分布式环境中,多个应用实例共享同一序列,可能需要考虑序列的同步问题,比如Oracle的`currval`和`nextval`。 4. **工具支持** 在开发过程中,开发者可以利用各种工具,如Hibernate Tools,进行逆向...

    myeclipse搭建hibernate框架

    对于Oracle,可能需要在数据库中创建相应的序列,以支持Hibernate的主键生成。 最后,通过MyEclipse的工具和生成的Java类,你可以开始编写业务逻辑和DAO层代码,利用Hibernate提供的API进行对象关系映射,实现对...

    Hibernate框架全部jar包

    Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者在编程时处理对象,而无需直接编写SQL语句,从而降低了开发复杂性。这个压缩包包含了一系列与Hibernate框架相关的jar包,使得开发者可以直接导入到...

    hibernate对Blob类型字段进行数据添加.txt

    - 在处理 Blob 数据的过程中可能会遇到各种异常情况,如文件读取错误或数据库连接问题,因此需要进行适当的异常处理。 5. **安全性考虑**: - 上传的 Blob 数据可能包含恶意内容,应采取措施进行安全检查,防止...

    hibernate开发所依赖的jar包

    在Java世界中,Hibernate是一个非常流行的对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库,极大地简化了数据库操作。本压缩包包含了进行普通Hibernate开发所需的最基本jar包,确保你能顺利...

Global site tag (gtag.js) - Google Analytics