`
oliverjonas
  • 浏览: 6305 次
  • 性别: Icon_minigender_1
  • 来自: 济南
最近访客 更多访客>>
社区版块
存档分类
最新评论

hibernate生成主键id的配置

 
阅读更多
hibernate生成主键id的配置
1、identity:用于MySql数据库。特点:递增 <id name="id" column="id">     <generator class="identity"/> </id>  注:对于MySql数据库使用递增序列时需要在建表时对主键指定为auto_increment属性。 2、sequence:用于Oracle数据库 <id name="id" column="id">    <generator class="sequence">      <param name="sequence">序列名</param>    </generator> </id> 3、native:跨数据库时使用,由底层方言产生。 Default.sequence为hibernate_sequence <id name="id" column="id">    <generator class="native"/> </id>  注:使用native时Hibernate默认会去查找Oracle中的hibernate_sequence序列。  如果Oracle中没有该序列,连Oracle数据库时会报错。 4、hilo:通过高低位合成id,先建表hi_value,再建列next_value。必须要             有初始值。 <id name="id" column="id">     <generator class="hilo">       <param name="table">high_val</param>        <param name="column">nextval</param>       <param name="max_lo">5</param>     </generator> </id> 5、sequencehilo:同过高低位合成id,建一个sequence序列,不用建表。<id name="id" column="id"><generator class="hilo"><param name="sequence">high_val_seq</param><param name="max_lo">5</param></generator></id>6、assigned:用户自定义id;<id name="id" column="id"><generator class="assigned"/></id> 7、foreign:用于一对一关系共享主健时,两id值一样。




转自:http://hi.baidu.com/bhzln/item/acac72126797f6ddbe90426b
分享到:
评论

相关推荐

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

    `assigned`是一种由外部程序负责生成主键的策略。在调用`save()`方法之前,需要手动设置主键的值。这种方式与Hibernate和底层数据库无关,可以跨数据库使用。 **配置示例:** ```xml &lt;id name="id" column="id"&gt; ...

    Hibernate中主键生成策略

    这种策略在数据库级别生成主键,常见于MySQL和SQL Server。当一个新对象被保存时,数据库会自动为该对象分配一个唯一的ID。在Hibernate中,通过`@GeneratedValue(strategy = GenerationType.IDENTITY)`来指定。 2....

    hibernate映射主键生成策略native

    本文将重点介绍在Oracle数据库环境下,使用Hibernate的“native”策略来生成主键的具体方法及注意事项。 #### 二、主键生成策略概述 在Hibernate中,主键生成策略主要包括以下几种: - **identity**:由数据库...

    hibernate中自动生成主键的办法

    Hibernate作为一款流行的Java持久层框架,提供了多种自动生成主键的方法,以适应不同场景的需求。本文将深入探讨Hibernate中自动生成主键的几种常见策略及其应用场景。 ### 1. UUID.hex UUID(Universally Unique ...

    hibernate主键生成策略详解

    **hilo** 算法生成主键的过程如下: 1. 获取 hi 值:读取并记录数据库中 `hibernate_unique_key` 表中 `next_hi` 字段的值,并将该字段的值加 1 后保存回数据库。 2. 获取 lo 值:从 0 开始,一直到 max_lo 循环...

    hibernate使用主键关联的一对一关系

    在Java的持久化框架Hibernate中,一对一(OneToOne)关系是一种常见的对象关系映射(ORM)配置,用于表示两个实体类之间的一种唯一关联。在这个场景中,“hibernate使用主键关联的一对一关系”指的是通过共享主键来...

    Hibernate映射文件主键的生成

    在Hibernate中,只需在实体类的主键字段上添加`@GeneratedValue(strategy = GenerationType.IDENTITY)`注解,Hibernate会自动调用数据库的内置机制来生成主键。 2. **Sequence策略**: 适用于Oracle等支持序列的...

    常用Hibernate主键生成策略

    ### 常用Hibernate主键生成策略详解 #### 一、引言 在数据库设计与操作过程中,主键是确保数据唯一性的关键要素之一。在实际应用中,开发者经常需要处理不同类型的数据库,并且需要应对各种不同的主键生成需求。...

    Hibernate的主键生成策略

    - **定义:**hilo策略采用高位/低位算法来生成主键,通过查询一张额外的表来获取高位部分的值。 - **用途:**适用于大多数数据库类型,尤其适用于高性能的应用场景。 **配置示例:** ```xml &lt;id name="id" column=...

    Hibernate自动生成配置文件

    6. **用Hibernate自动生成配置文件**:选择数据库中的目标表,如`t_user`,通过右键菜单选择“HibernateReverseEngineering”,根据提示逐步填写相关信息,包括主键类型、对应的Java类名及包名等,最后点击“Finish...

    Hibernate联合主键的例子

    - 在使用联合主键时,通常不需要生成自增的ID,因为主键是通过组合多个字段生成的。 - 联合主键的每个字段通常都会设置为`@Column(nullable = false)`,确保它们在数据库中都是非空的。 通过以上步骤,你就可以在...

    hibernate复合主键映射

    在这个例子中,我们添加了一个`Long`类型的`id`字段,并用`@GeneratedValue`和`@TableGenerator`注解来配置自动生成的策略。请注意,这仅适用于复合主键中包含自增部分的情况。 最后,确保在Hibernate配置文件(如`...

    Hibernate主键策略-sequence

    在Hibernate的映射文件或注解中,我们需要配置使用序列来生成主键。对于XML配置,可以在`&lt;id&gt;`标签下使用`&lt;generator&gt;`子标签,指定为`sequence`: ```xml &lt;id name="id" column="ID"&gt; ...

    Hibernate主键类型说明和配置手册.doc

    5. **sequence**: 使用数据库的序列生成主键,适用于DB2、PostgreSQL、Oracle、SAP DB、McKoi和Interbase。 6. **hilo**: 使用Hi-Lo算法,需要一个数据库表来存储生成的主键。不适用于JTA环境或自定义数据库连接。 ...

    Hibernate主键生成策略.docx

    ### Hibernate 主键生成策略详解 #### 一、概述 Hibernate 是一种流行的 Java 持久化框架,它简化了数据库操作,并提供了多种主键生成策略。主键是表中的一个或多个字段组合,用于唯一标识表中的每一条记录。...

    hibernate利用配置文件反向生成数据库所有配置文件及方法

    本篇文章将详细讲解如何使用Hibernate通过配置文件反向生成数据库的所有配置文件,以及涉及的相关步骤和技术要点。 首先,Hibernate的反向工程(Reverse Engineering)功能可以帮助开发者从现有的数据库中生成实体...

Global site tag (gtag.js) - Google Analytics