在Hibernate中使用oracle的序列(sequence)产生主键2008年03月15日 星期六
在oracle中,我们常使用sequence做为表的主键,用Hibernate时需要在hbm.xml中做下配置:
<!--id 同样可以为String类型,其他类型没有试过-->
<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;
分享到:
相关推荐
在映射文件中,可以使用`<generator class="sequence">`,而在注解中使用`@GeneratedValue(strategy = GenerationType.SEQUENCE)`。 3. **Table策略**: 这个策略使用一个单独的表来管理主键生成。在Hibernate中,...
4. **在实体类中使用自定义类型**:在实体类的属性上使用`@Type`注解,指定你的自定义类型。 例如,假设我们需要为日期时间字段存储额外的时区信息,我们可以创建一个`DateTimeWithTimeZone`类,然后实现`org....
为了在Hibernate中利用Oracle的序列(sequence)特性,需要在Hibernate的映射文件中进行相应的配置。以下是一个示例,展示了如何为`Department`实体类配置序列生成器(sequence generator): ```xml <hibernate-...
Hibernate框架被广泛应用于企业级Java应用程序中,可以与Servlet/JSP Web应用、Java客户端程序等结合使用。 对象持久化(Persistence)是指将内存中的对象数据保存到持久化存储设备上,如硬盘。这主要是为了解决...
在这个“Hibernate中文参考文档学习”中,我们可以深入理解Hibernate的核心概念、配置、实体映射、查询语言以及其他关键特性。 1. **核心概念** - **对象关系映射(ORM)**: ORM是将数据库中的数据模型转换为面向...
尽管 Hibernate 支持字段访问和属性访问两种模式,但在实践中通常推荐使用属性访问模式。 - **4.2 实现继承** Hibernate 支持多种继承映射策略,如单表继承、类表继承和子类表继承等。 - **4.3 实现 equals() ...
《Hibernate Annotation 中文文档》是Java开发者们的重要参考资料,它详细介绍了如何在Hibernate框架中使用注解进行对象关系映射(ORM)。Hibernate是一款强大的开源Java持久化框架,它简化了数据库与Java对象之间的...
- 介绍如何在Servlet中使用Hibernate来处理业务逻辑,并将结果呈现给用户。 - **1.4.3 部署与测试** - 提供部署和测试该web应用的具体步骤。 - **1.5 总结** - 对本章内容进行总结,并强调了理解Hibernate基本...
2. **javassist.jar**:Hibernate使用Javassist库来动态生成字节码,实现运行时对类的增强,比如添加getter和setter方法,实现序列化等。这对于ORM框架来说是必不可少的,因为我们需要在不修改源代码的情况下,为...
本文将详细讲解如何在Hibernate中使用注解进行实体bean的配置。 首先,我们来看一下Hibernate注解的基本概念。自从JDK 1.5引入注解机制后,Hibernate也开始支持使用注解来替代传统的XML配置文件。通过在实体类上...
在Hibernate 3.2.0版本的中文参考文档中,详细阐述了其核心功能、配置、查询语言以及实体管理和持久化等关键概念。 1. Hibernate核心概念: - Session:是Hibernate的核心接口,它负责在应用程序和数据库之间建立...
在这个“hibernate 和hibernate_annotations(中文API)帮助文档”中,我们将深入探讨Hibernate的核心概念、特性以及如何使用Hibernate Annotations进行对象的持久化。 一、Hibernate核心概念 1. 实体(Entity):在...
在Java应用中使用Hibernate可以极大地降低数据库编程的复杂度,减少重复的代码编写工作,同时提高了应用的可移植性。 知识点一:Hibernate在Java应用中的角色 Hibernate作为Java ORM框架的核心作用是将Java对象...
在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据。然而,随着Java JDK版本的不断更新,有时会出现新版本JDK与旧版Hibernate库...
在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象的方式来操作数据库,而无需过多关注SQL语句的编写。本篇将主要围绕Hibernate在与各种数据库字段类型对应的Java类型进行...
- **明确日期时间格式**:在Hibernate的配置文件中,可以使用`<property name="hibernate.jdbc.time_zone">`来指定时区,或者在实体类中使用`@Type`注解自定义日期时间的转换器。 - **修改实体类属性**:将Date类型...
- `@GeneratedValue`中的`@SequenceGenerator`:当使用`SEQUENCE`策略时,配合使用此注解来定义数据库序列的名称、初始值和每次增量。 举例说明,如果我们有一个User实体,它的主键是自增的ID,同时包含一个版本...
标识字段和序列(Identity columns and Sequences) 5.1.4.5. 程序分配的标识符(Assigned Identifiers) 5.1.4.6. 触发器实现的主键生成器(Primary keys assigned by triggers) 5.1.5. composite-id 5.1.6. 鉴别...