通过Hibernate注解的方式映射oracel数据库的sequence主键生成器时,出现增加数据时sequence无序增长的问题,配置如下:
@SequenceGenerator(name = "SEQ_DM_SERVICE_MODEL", sequenceName = SEQ_DM_SERVICE_MODEL")
@Id
@GeneratedValue(strategy = SEQUENCE, generator = "SEQ_DM_SERVICE_MODEL")
@Column(name = "SERVICE_MODEL_ID", unique = true, nullable = false, precision = 10, scale = 0)
public Long getId() {
return this.id;
}
此时主键id的增长是按照hibernate自动处理的方式,而并非数据库中定义的sequence来处理。必须加allocationSize=1,initialValue=1这两项配置才可以解决上述问题。如下:
@SequenceGenerator(name = "generator",allocationSize=1,initialValue=1, sequenceName = "SEQ_DM_SERVICE_MODEL")
分享到:
相关推荐
Hibernate 是一个流行的对象关系映射(ORM)...正确配置映射关系能够提升应用程序的性能和可维护性,避免出现不必要的 N+1 查询问题,并简化数据库交互的复杂性。在实际开发中,应根据业务需求灵活选择合适的映射方式。
本资料“hibernate注解处理映射关系共14页.pdf.zip”显然是一个关于Hibernate注解使用的详细教程,涵盖了14页的内容。以下是基于该主题的详尽知识点解析: 1. **Hibernate概述**:Hibernate是Java平台上的一个开源...
在开发Java应用,尤其是涉及到数据库交互的时候,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。而MyEclipse作为一款集成开发环境,提供了对Hibernate的全面支持,包括自动生成...
`Generator-Class`子节点指定主键生成策略,常见的有`increment`(适用于自增主键)、`identity`(依赖数据库的自动增长功能)、`sequence`(使用序列生成主键)、`uuid.hex`或`uuid.string`(生成UUID)。...
在Hibernate的映射文件中,可以配置`<generator class="sequence">`,并指定序列名。例如: ```xml <generator class="sequence"> <param name="sequence">MY_SEQ ``` 或者在注解中: ```java @...
### Hibernate映射笔记详解 #### Hibernate映射文件与配置关系 Hibernate映射是ORM(对象关系映射)框架中的一项关键技术,它允许开发者在数据库表和Java对象之间建立映射关系,从而简化了数据访问层的开发工作。...
本文档将深入探讨Hibernate注解的使用,帮助开发者更好地理解和利用这些注解来实现对象关系映射(ORM)。 一、Hibernate注解基础 Hibernate注解是一种元数据方式,用于在Java类和属性上声明数据库映射信息,从而...
标题:“Hibernate的映射文件配置” 描述:本文深入解析了Hibernate映射文件配置的核心概念,重点阐述了映射文件的基本结构及其组成部分,包括主键(id)、普通属性(property)等关键元素的配置方法和策略。 ### ...
- `@GeneratedValue`:指定主键生成策略,如`GenerationType.IDENTITY`(自动增长)、`GenerationType.SEQUENCE`(序列)等。 - `@Column`:定义字段在数据库表中的列名,可设置长度、是否允许为空等属性。 3. *...
在Java的ORM框架Hibernate中,注解是一种强大的工具,它允许开发者无需XML配置就能实现对象关系映射。本文主要总结了Hibernate中常见的注解用法,涵盖了类级别和属性级别的注解,以及与主键和非主键相关的注解。 1....
在Java持久化API (JPA) 和Hibernate框架中,注解是一种方便且强大的方式来配置对象关系映射(ORM),使Java对象与数据库中的表进行对应。以下是对标题和描述中涉及的Hibernate映射注解的详细解释: 1. **@Entity(name...
为了简化开发流程并提高代码可读性和维护性,Hibernate引入了一系列注解,使得开发者能够更加直观地配置实体类与数据库表之间的映射关系。 #### 二、核心注解解析 ##### 1. @Entity - **功能**:将一个Java类声明...
在Hibernate的映射文件或注解中,我们需要配置使用序列来生成主键。对于XML配置,可以在`<id>`标签下使用`<generator>`子标签,指定为`sequence`: ```xml <generator class="sequence"> <param name="...
在Java开发中,MyEclipse是一款强大的...然而,需要注意的是,虽然自动化工具提供了便利,但理解和掌握Hibernate的基本原理和映射机制仍然是至关重要的,因为这有助于更好地优化和维护项目,以及解决可能出现的问题。
通常与数据库的自动增长ID对应,可以使用`generator`属性指定生成策略,如`increment`、`identity`、`sequence`等。 4. `<property>`:表示类的属性,对应数据库中的列。需要指定属性名(`name`属性)和列名(`...
在 Hibernate 中,注解是一种简洁且强大的工具,用于替代传统的 XML 配置文件来描述对象模型和数据库之间的映射关系。这篇文档将深入探讨 Hibernate 注解的使用。 ### 第 1 章 创建一个注解项目 在开始使用 ...
在Hibernate中,通过使用注解可以更加便捷地进行对象关系映射。本文档旨在详细介绍Hibernate中的主要注解及其用法。 #### 二、注解详解 ##### 1. @Entity - **功能**:此注解用于将一个Java类声明为一个实体bean,...
### Hibernate映射主键生成策略native #### 一、引言 在ORM(对象关系映射)技术中,Hibernate作为一款流行的Java持久层框架,在处理数据持久化方面提供了丰富的功能和灵活性。其中,主键生成策略是Hibernate配置...
Hibernate提供了丰富的注解,如@Entity、@Table、@Column、@Id等,这些注解对应着不同的ORM元素,用于构建实体类与数据库表之间的映射关系。 二、核心注解解析 2.1 @Entity @Entity注解标识一个Java类为Hibernate...