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值一样。
分享到:
相关推荐
最后,“Basic O/R Mapping”章节详细阐述了ORM映射的基本声明,如Doctype、EntityResolver、hibernate-mapping、class元素、id元素及其子元素Generator、Hi/lo算法、UUID算法等。这些细节是实现高效、灵活的对象...
`generator`参数则用于指定自定义的主键生成器,如在Hibernate中可以指定`uuid`。 5. `@Basic`: 此注解用于声明一个简单属性到数据库字段的映射。`fetch`参数定义了属性的加载策略,可以是`EAGER`(立即加载)或`...
在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者使用面向对象...这个过程涉及到Java反射、XML处理以及对Hibernate映射机制的理解,对于深入掌握Java与数据库的交互具有重要的实践意义。
- **缺点**:需要在Hibernate的配置文件中正确设置数据库方言,否则可能无法正常工作。 #### 四、配置示例 在Hibernate的XML映射文件中,可以通过以下方式进行配置: ```xml 实体类属性名" type="java.lang....
### Hibernate映射笔记详解 #### Hibernate映射文件与配置关系 ...总之,Hibernate映射是连接Java对象世界与数据库世界的重要桥梁,深入理解并灵活运用其各项特性和技巧,对于构建高效、稳定的持久化层具有重要意义。
在Java开发领域中,Hibernate作为一个强大的对象关系映射(ORM)框架,为开发者提供了方便地操作数据库的方式。通过将Java对象与数据库表进行映射,Hibernate大大简化了数据持久化层的编码工作。在实际应用中,对象...
安装配置 Hibernate 首先需要从官方网站下载相应版本的Hibernate库,将所需的jar文件添加到项目的classpath中,包括hibernate3.jar及相关的依赖库,如antlr.jar、cglib.jar等。接着,需要配置hibernate.cfg.xml或...
Hibernate Code Generator 是针对Hibernate框架的代码生成工具,它可以生成基于JPA的实体类、DAO层、Service层以及对应的XML配置文件。这个工具能帮助开发者快速构建基于Hibernate的项目,节省了大量的编码时间。只...
在本教程中,我们将深入探讨Hibernate框架中的一个核心概念——对象标识符(Object Identifier)。通过本篇教程的学习,您将了解到对象标识符在Hibernate中的重要性以及如何正确地为持久化对象设置标识符。此外,我们...
在Java开发领域中,Hibernate框架是进行对象关系映射(Object-Relational Mapping,简称ORM)的一种非常流行的工具。它能够帮助开发者将面向对象的模型与关系型数据库进行桥接,从而使得Java对象能够直接与数据库中...
- **对于MySQL的自增主键**,在User.hbm.xml中使用`<generator class="native"/>`,或者在Annotation配置中,若字段为自动递增整型,无需额外配置。 6. **Hibernate的核心开发接口** - **Session**是与数据库交互...
- **主键映射**:可以使用`<id>`标签来指定主键映射,通常还需要指定`generator`属性来定义主键生成策略。 - **一对多映射**:使用`<set>`标签来处理一对多的关系映射。 - **多对一映射**:使用`...
具体来说,持久化类中的对象会被映射到数据库中的表,而对象的属性则会被映射为表中的列。 #### 二、映射关系配置 1. **映射文件**:映射文件通常以 `.hbm.xml` 结尾,用于定义持久化类与数据库表之间的映射关系。...
- `<id>`标签映射主键,`column`属性指定数据库列名,`generator`定义主键生成策略。 4. **SessionFactory的获取** - 获取SessionFactory仅需一次,因为其创建过程较为耗时。通常在项目启动时完成,并通过工具类...
以上是Spring+Hibernate将文件二进制数据持久化到数据库的解决方案,而Struts通过将表单中file类型的组件映射为ActionForm中类型为org.apache.struts.upload. FormFile的属性来获取表单提交的文件数据。 工程...
本文将详细介绍如何使用 Struts、Spring 和 Hibernate 集成技术实现查询 Oracle 数据库中 EMP 表中的所有雇员。 #### 二、技术栈与环境准备 本示例使用的环境和技术栈如下: - **IDE**: MyEclipse 6.5 - **数据库...
- **对象与关系映射**:将对象模型中的属性与数据库表中的字段对应起来。 - **查询语言支持**:提供高级查询语言或API,使得开发者可以直接使用面向对象的方式来查询数据,而不是编写SQL语句。 - **事务管理**:...
在现代Java Web开发中,Struts2、Spring与Hibernate是三个非常重要的框架。Struts2是一个MVC框架,主要用于处理用户请求并返回相应的视图;Spring则是一个轻量级的控制反转(IoC)和面向切面(AOP)容器,可以用来管理...