`

Hibernate中使用oracle的序列(sequence)生成主键

阅读更多
在oracle中,我们常使用sequence做为表的主键,用Hibernate时需要在hbm.xml中做下配置:

<id name="userId" type="java.lang.Long">  
    <column name="USER_ID" precision="22" scale="0" />  
    <generator class="sequence">  
    <param name="sequence">SEQ_USER</param>  
    </generator>  
</id>  

这样再插入数据的时候,Hibernate回自动生成如下语句:

Hibernate: select SEQ_USER.nextval from dual  

自动生成下一个序列值,然后将对象插入表中。

在oracle中创建sequence方法:
-- Create sequence    
create sequence SEQ_USER   
minvalue 1  
maxvalue 999999999999999999999999999  
start with 1  
increment by 1  
cache 20;   
分享到:
评论

相关推荐

    在hibernate中实现oracle的自动增长

    在Hibernate中利用Oracle的序列(sequence)实现自动增长,不仅可以简化主键管理,还能提高数据一致性和安全性。通过在Hibernate映射文件中正确配置序列生成器,可以确保每个实体都有一个唯一的标识符,同时避免了手动...

    Hibernate主键策略-sequence

    在Hibernate中,我们可以利用数据库的序列功能来生成主键,这就是所谓的"sequence"主键策略。 1. **配置Sequence主键策略** 在Hibernate的映射文件或注解中,我们需要配置使用序列来生成主键。对于XML配置,可以在...

    hibernate映射主键生成策略native

    其中,主键生成策略是Hibernate配置中的一个重要部分,它决定了表中的主键值如何生成。本文将重点介绍在Oracle数据库环境下,使用Hibernate的“native”策略来生成主键的具体方法及注意事项。 #### 二、主键生成...

    hibernate中自动生成主键的办法

    在Hibernate中,可以使用`&lt;generator class="sequence"&gt;`来指定使用Sequence作为主键生成策略,并通过`&lt;param name="sequence"&gt;SEQ_CHILD&lt;/param&gt;`来指定具体的序列名称。这种方式适用于需要生成大量连续主键值的...

    Hibernate中主键生成策略

    在Java的持久化框架Hibernate中,主键生成策略是一个至关重要的概念,它决定了数据库表中主键值如何自动生成。主键通常是表中唯一标识记录的一列,对于数据的完整性和一致性至关重要。以下是对Hibernate中主键生成...

    使用JDeveloper开发WEB应用时同时使用Oracle的sequence和trigger

    在Oracle中,sequence是一种自动递增或递减的数字序列,常用于生成唯一的主键值,避免手动为每条新记录分配ID。创建一个sequence后,你可以通过nextval或currval函数获取序列的下一个或当前值。 Trigger则是数据库...

    Hibernate主键生成方式

    在Java的持久化框架Hibernate中,主键生成策略是一个关键的概念,它决定了如何为数据库中的实体对象生成唯一的标识符(主键)。以下是关于Hibernate主键生成方式的详细说明: 1. **Identity方式**:`...

    Hibernate Oracle sequence的使用技巧

    总之,理解并正确使用Hibernate与Oracle sequence的结合,可以帮助我们更高效地管理和维护数据库中的自增长主键,同时避免潜在的数据冲突问题。在实际开发中,应根据项目需求和数据库特性灵活选择适合的主键生成策略...

    hibernate主键生成策略

    `seqhilo`策略与`hilo`类似,但它将主键的历史保存在数据库的Sequence中,特别适合那些支持Sequence的数据库,如Oracle。 #### 8. uuid.hex `uuid.hex`策略生成一个128位的十六进制UUID(Universally Unique ...

    Hibernate映射文件主键的生成

    本篇文章将详细讲解Hibernate映射文件中关于主键生成的各种策略及其配置,帮助开发者更好地理解和使用。 首先,主键(Primary Key)是数据库表中用于唯一标识一条记录的字段,其值在表中必须是唯一的,并且通常不...

    Hibernate各种主键生成策略与配置详解

    首先,你需要在数据库中创建一个序列,然后Hibernate会使用这个序列来生成主键。这种方式同样跨数据库,但在Oracle、PostgreSQL等支持序列的数据库中更为适用。 配置示例: ```xml &lt;param name="sequence"&gt;my_...

    hibernate的主键生成策略

    在Hibernate中,主键生成策略是确保实体类中的主键字段具有唯一标识的关键部分。以下是对Hibernate主键生成策略的详细说明: 1. **assigned**: 这种策略要求用户在调用`save()`方法之前手动设置主键值。Hibernate...

    hibernate主键生成策略详解

    **seqhilo** 策略与 **hilo** 类似,同样是基于 hi/lo 算法实现的主键生成机制,不同之处在于它使用了序列(sequence)而不是额外的数据表来保存高位值 hi。这种策略适用于支持序列的数据库,例如 Oracle 数据库。 ...

    Hibernate主键生成策略

    在Hibernate框架中,主键生成策略是对象持久化过程中不可或缺的一部分。合理的主键生成机制不仅能够确保数据的唯一性,还能够提高系统的性能和可扩展性。本文将详细介绍并比较Hibernate中的各种主键生成策略。 ####...

    Hibernate的主键生成策略

    本文将详细介绍Hibernate中五种常用的主键生成策略:assigned、increment、hilo、seqhilo以及native,并探讨它们的特点、应用场景及配置方式。 #### 二、assigned **定义与用途:** - **定义:**assigned策略允许...

    Hibernate的主键生成方式

    在使用Hibernate进行对象关系映射时,一个重要的概念就是如何为持久化实体类中的主键字段生成唯一标识符。主键是表中的一列或一组列,其值是唯一的,用于唯一地标识表中的每一行数据。在Hibernate框架中,提供了多种...

Global site tag (gtag.js) - Google Analytics