开发者博客: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值一样。
相关推荐
7. `key-generator`:主键生成器,用于定义如何生成数据库主键。常见的选项有: - `assigned`:主键由应用程序自己生成。 - `hilo`、`seqhilo`:基于hi/lo算法,适用于需要高效主键生成的场景。 - `increment`:...
在 Hibernate 中,`generator` 属性是用于指定如何生成实体类的唯一标识(通常为主键)的一种机制。这个属性可以配置在 `hibernate.hbm.xml` 文件中的 `<id>` 标签内,它允许你选择不同的策略来生成 ID。 1. **...
《Hibernate注解3.4.0.GA中文版》是一个针对Java开发人员的重要参考资料,它详细阐述了如何在Hibernate框架中使用注解进行对象关系映射(ORM)。Hibernate是Java领域广泛使用的持久化框架,通过将Java类与数据库表...
Hibernate Mapping是Java领域中一种重要的对象关系映射(ORM)技术,它使得开发者可以使用面向对象的方式来操作数据库,极大地简化了数据存取的操作。在Hibernate中,mapping文件是连接Java类和数据库表的关键,它...
文档的最后一部分专注于基本的O/R映射,从映射声明的各个组成部分开始,详细介绍了`doctype`、`hibernate-mapping`、`class`、`id`及其子元素`Generator`的用法。其中,关于主键生成策略的讨论,如Hi/Lo算法、UUID...
【Hibernate入门 - 基础配置】 在Java开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。本文将深入介绍Hibernate的基础配置和功能,帮助初学者快速入门。 一、ORM框架与...
Hibernate 配置文件详解 Hibernate 是一个流行的 ORM(Object-Relational Mapping)框架,用于简化 Java 应用程序中的数据库交互。 Hibernate 的配置文件是其核心组件之一,用于定义 Hibernate 的运行期参数。下面...
此文件用于定义数据源、JDBC连接信息、Hibernate的属性以及映射文件的位置。配置文件应包含如下内容: ```xml <hibernate-configuration> <session-factory> <property name="hibernate.dialect">org.hibernate....
Hibernate支持两种映射方式:XML配置和注解。XML配置文件通常在实体类对应的.hbm.xml文件中,而注解则直接在实体类上声明。 1. XML映射:如User实体类的映射文件可能如下: ```xml <class name=...
`hibernate-configuration-3.0.dtd`是Hibernate 3.0版本的配置文件格式的规范,它规定了`hibernate.cfg.xml`文件中元素和属性的语法。例如,`<session-factory>`是配置文件中的核心元素,它可以包含如`<property>`...
<generator class="native"/> <!-- <many-to-one name="group" column="groupid" cascade="all"/> --> <many-to-one name="group" column="groupid"/> </class> </hibernate-mapping> ...
<generator class="assigned"></generator> //数据库中的主键生成策略 数据库中表的其它字段所对应的持久化对象中的属性名" column="对应数据库中表的其它字段名" type="java.lang.String(数据库中其它字段...
在这个配置中,`EntityClass`是Java类的名称,`entity_table`是对应的数据库表,`id`是主键,`generator`指定生成主键的方式,而`property`则表示Java类的属性与数据库表的列的映射。 通过`hibernate.cfg.xml`和...
在本部分,我们对比了三种数据库(MySQL、Oracle、SQL Server)在Hibernate配置文件中的设置差异。这对于跨数据库开发非常有用。 - **dialect**: 指定了Hibernate使用的方言,它告诉Hibernate如何处理特定数据库的...
Hibernate是一款强大的对象关系映射(ORM)框架,它允许...理解配置文件的各个属性以及jar包的作用,有助于更好地利用Hibernate进行开发。在实际应用中,还应关注性能优化、缓存策略、事务管理等方面,以提升系统效率。
- **映射定义**:涵盖了hibernate-mapping元素、class元素、id元素及其子元素Generator,以及各种主键生成策略,如Hi/Lo算法、UUID算法、标识列和序列、程序分配的标识符和触发器生成的主键。 这份文档深入浅出地...
### Hibernate关联关系配置详解 #### 一、一对多与多对一关系配置 在软件开发过程中,实体之间的关联关系是常见的需求之一。其中,“一对多”与“多对一”的关系尤为常见,这类关系通常用来表示实体之间的层级或...
<generator class="increment"/> ... </class> </hibernate-mapping> ``` 在SSH框架中,Spring可以用来管理Hibernate的SessionFactory,并通过AOP(面向切面编程)实现事务管理。Struts则负责处理HTTP请求...