`
keepwork
  • 浏览: 332758 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Hibernate--配置generator属性的7种class

 
阅读更多

 开发者博客www.developsearch.com

 

本文讲述Hibernate的generator属性的意义。Generator属性有7种class,本文简略描述了这7种class的意义和用法。

 

Hibernate的Generator属性有7种class,本文简略描述了这7种class的意义和用法。

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值一样。

分享到:
评论

相关推荐

    hibernate-mapping参数详解

    7. `key-generator`:主键生成器,用于定义如何生成数据库主键。常见的选项有: - `assigned`:主键由应用程序自己生成。 - `hilo`、`seqhilo`:基于hi/lo算法,适用于需要高效主键生成的场景。 - `increment`:...

    Hibernate的generator属性

    在 Hibernate 中,`generator` 属性是用于指定如何生成实体类的唯一标识(通常为主键)的一种机制。这个属性可以配置在 `hibernate.hbm.xml` 文件中的 `&lt;id&gt;` 标签内,它允许你选择不同的策略来生成 ID。 1. **...

    hibernate-annotations-3.4.0.GA.chm中文版

    《Hibernate注解3.4.0.GA中文版》是一个针对Java开发人员的重要参考资料,它详细阐述了如何在Hibernate框架中使用注解进行对象关系映射(ORM)。Hibernate是Java领域广泛使用的持久化框架,通过将Java类与数据库表...

    hibernate-mapping

    Hibernate Mapping是Java领域中一种重要的对象关系映射(ORM)技术,它使得开发者可以使用面向对象的方式来操作数据库,极大地简化了数据存取的操作。在Hibernate中,mapping文件是连接Java类和数据库表的关键,它...

    hibernate-reference-3.1.1.pdf

    文档的最后一部分专注于基本的O/R映射,从映射声明的各个组成部分开始,详细介绍了`doctype`、`hibernate-mapping`、`class`、`id`及其子元素`Generator`的用法。其中,关于主键生成策略的讨论,如Hi/Lo算法、UUID...

    Hibernate入门 - 基础配置

    【Hibernate入门 - 基础配置】 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入介绍Hibernate的基础配置和功能,帮助初学者快速入门。 一、ORM框架与...

    hibernate配置文件详解

    Hibernate 配置文件详解 Hibernate 是一个流行的 ORM(Object-Relational Mapping)框架,用于简化 Java 应用程序中的数据库交互。 Hibernate 的配置文件是其核心组件之一,用于定义 Hibernate 的运行期参数。下面...

    基于IDEA的SSH项目之五:集成Hibernate--程序包

    此文件用于定义数据源、JDBC连接信息、Hibernate的属性以及映射文件的位置。配置文件应包含如下内容: ```xml &lt;hibernate-configuration&gt; &lt;session-factory&gt; &lt;property name="hibernate.dialect"&gt;org.hibernate....

    Hibernate-API打包

    Hibernate支持两种映射方式:XML配置和注解。XML配置文件通常在实体类对应的.hbm.xml文件中,而注解则直接在实体类上声明。 1. XML映射:如User实体类的映射文件可能如下: ```xml &lt;class name=...

    hibernate的dtd 包含hibernate.properties

    `hibernate-configuration-3.0.dtd`是Hibernate 3.0版本的配置文件格式的规范,它规定了`hibernate.cfg.xml`文件中元素和属性的语法。例如,`&lt;session-factory&gt;`是配置文件中的核心元素,它可以包含如`&lt;property&gt;`...

    hibernate关系映射配置.rar

    &lt;generator class="native"/&gt; &lt;!-- &lt;many-to-one name="group" column="groupid" cascade="all"/&gt; --&gt; &lt;many-to-one name="group" column="groupid"/&gt; &lt;/class&gt; &lt;/hibernate-mapping&gt; ...

    hibernate配置

    &lt;generator class="assigned"&gt;&lt;/generator&gt; //数据库中的主键生成策略 数据库中表的其它字段所对应的持久化对象中的属性名" column="对应数据库中表的其它字段名" type="java.lang.String(数据库中其它字段...

    hibernate完整配置文件

    在这个配置中,`EntityClass`是Java类的名称,`entity_table`是对应的数据库表,`id`是主键,`generator`指定生成主键的方式,而`property`则表示Java类的属性与数据库表的列的映射。 通过`hibernate.cfg.xml`和...

    Hibernate-add学习

    在本部分,我们对比了三种数据库(MySQL、Oracle、SQL Server)在Hibernate配置文件中的设置差异。这对于跨数据库开发非常有用。 - **dialect**: 指定了Hibernate使用的方言,它告诉Hibernate如何处理特定数据库的...

    Hibernate配置文件和jar包

    Hibernate是一款强大的对象关系映射(ORM)框架,它允许...理解配置文件的各个属性以及jar包的作用,有助于更好地利用Hibernate进行开发。在实际应用中,还应关注性能优化、缓存策略、事务管理等方面,以提升系统效率。

    HIBERNATE - 符合Java习惯的关系数据库持久化.docx

    - **映射定义**:涵盖了hibernate-mapping元素、class元素、id元素及其子元素Generator,以及各种主键生成策略,如Hi/Lo算法、UUID算法、标识列和序列、程序分配的标识符和触发器生成的主键。 这份文档深入浅出地...

    Hibernate关联关系配置

    ### Hibernate关联关系配置详解 #### 一、一对多与多对一关系配置 在软件开发过程中,实体之间的关联关系是常见的需求之一。其中,“一对多”与“多对一”的关系尤为常见,这类关系通常用来表示实体之间的层级或...

    hibernate依赖包与配置文件

    &lt;generator class="increment"/&gt; ... &lt;/class&gt; &lt;/hibernate-mapping&gt; ``` 在SSH框架中,Spring可以用来管理Hibernate的SessionFactory,并通过AOP(面向切面编程)实现事务管理。Struts则负责处理HTTP请求...

Global site tag (gtag.js) - Google Analytics