可选的<generator>子元素是一个Java类的名字, 用来为该持久化类的实例生成唯一的标识。如果这个生成器实例需要某些配置值或者初始化参数, 用<param>元素来传递。
<id name="id" type="long" column="cat_id">
<generator class="org.hibernate.id.TableHiLoGenerator">
<param name="table">uid_table</param>
<param name="column">next_hi_value_column</param>
</generator>
</id>
当然, Hibernate提供了很多内置的实现。下面是一些内置生成器的快捷名字
1.increment
引用
用于为long, short或者int类型生成 唯一标识。只有在没有其他进程往同一张表中插入数据时才能使用。 在集群下不要使用。
2.identity
引用
对DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL的内置标识字段提供支持。 返回的标识符是long, short 或者int类型的。
3.sequence
引用
在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence), 而在Interbase中使用生成器(generator)。返回的标识符是long, short或者 int类型的。
4.hilo
引用
使用一个高/低位算法高效的生成long, short 或者 int类型的标识符。给定一个表和字段(默认分别是是 hibernate_unique_key 和next_hi)作为高位值的来源。 高/低位算法生成的标识符只在一个特定的数据库中是唯一的。
5.seqhilo
引用
使用一个高/低位算法来高效的生成long, short 或者 int类型的标识符,给定一个数据库序列(sequence)的名字。
6.uuid
引用
用一个128-bit的UUID算法生成字符串类型的标识符, 这在一个网络中是唯一的(使用了IP地址)。UUID被编码为一个32位16进制数字的字符串。
7.native
引用
根据底层数据库的能力选择identity, sequence 或者hilo中的一个。
8.assigned
引用
让应用程序在save()之前为对象分配一个标示符。这是 <generator>元素没有指定时的默认生成策略。
9.select
引用
通过数据库触发器选择一些唯一主键的行并返回主键值来分配一个主键。
10.foreign
引用
使用另外一个相关联的对象的标识符。通常和<one-to-one>联合起来使用。
分享到:
相关推荐
1. **identity**:这个生成器适用于像 MySQL 这样的数据库,它依赖于数据库自身的自动递增功能。例如,在 MySQL 中,如果你的主键字段设置为 `auto_increment`,`identity` 会自动为新插入的行生成递增的 ID。 ```...
这是一款基于Hibernate的代码生成器,能够根据数据库表结构自动生成Java实体类、.hbm映射文件和相关的配置文件。开发者只需要提供数据库连接信息,工具会自动扫描数据库中的表,然后根据表的字段生成对应的Java代码...
Rapid-Generator v3.9 正是这样一款高效能的代码生成器,专为Java开发者设计,特别是那些使用诸如iBatis、iBatis3、Hibernate、Spring MVC和Struts2等框架的开发者。这款独立版的代码生成器使得开发者可以将精力集中...
4. **代码生成工具**:如压缩包中的"msp_generator_new"可能是一个定制化的代码生成器,它可以基于数据库的元数据自动生成上述的Entity、映射文件和DAO。这类工具通常会提供配置选项,比如选择数据库连接、指定生成...
这款代码生成器的特点在于其易于操作和内置的中文语言支持,使得国内开发者也能无障碍地使用。在Windows 7环境下运行良好,意味着它对系统资源的要求不高,兼容性较强,适合各种开发环境。 使用...
不同于Hibernate和MyBatis,ActiveJDBC更注重简单和直观,其代码生成器可以帮助开发者快速构建动态、灵活的数据访问层。 4. Lombok 虽然Lombok 并非严格意义上的代码生成器,但它通过注解处理器可以在编译时自动...
"最快速的Java代码生成器Rapid-Generator"是一款高效能的工具,旨在为开发者提供便捷的Java框架代码自动生成服务。它通过自动化的方式减少了手动编写重复性代码的工作量,提高了开发效率,使得开发者能够更专注于...
在Oracle版Generator生成的代码中,这部分内容会被自动处理,简化了开发过程。 总的来说,SSM框架实体类生成器Oracle版是提高开发效率的有效工具,它能够帮助开发者快速地从Oracle数据库生成符合SSM规范的实体类,...
* sequence(序列):在 DB2, PostgreSQL, Oracle, SAP DB, McKoi 中使用序列(sequence),而在 Interbase 中使用生成器(generator)。返回的标识符是 long, short 或者 int 类型的。 * assigned(自行分配):...
在Hibernate中,主键的生成可以通过编程方式、数据库内置机制或者特定的生成器来实现。接下来我们将逐一探讨这些策略: 1. **Identity策略**: 这种策略适用于支持自动增长主键的数据库,如MySQL的`AUTO_INCREMENT...
读取数据库表结构,通过对字段类型、名称等分析得到需要的各种变量,根据模板生成相应的pojo类、hibernate的xml配置文件、dao和service的接口和类. 工程可以直接使用 在config文件夹下的 generator.xml里配置数据库...
rapid-generator是一个生成器引擎,让你可以专注与代码生成器模板的编写, 可以生成如ibatis,ibatis3,hibernate,spring_mvc,struts2等等代码. 该项目是 Rapid Framework 框架的一部分。
这个自动代码生成器程序是基于SSH2框架设计的,它能帮助开发者快速生成项目的基础代码,提高开发效率。 Struts2作为MVC框架,负责控制层逻辑,提供了强大的动作调度和结果映射功能。Spring2.5则是一个全面的轻量级...
在IT行业中,"Debug - 代码生成器.rar" 提到的主题是关于代码生成器的工具,这类工具在软件开发流程中扮演着重要角色。代码生成器可以自动化地创建源代码,帮助开发者节省时间,减少手动编写重复代码的工作量,提高...
在给定的"codetool"压缩包中,很可能包含了一个这样的工具,它可以帮助我们自动生成domain(实体类)、dao(数据访问对象)、service(业务逻辑层)以及controller(控制器)等代码。这些代码通常遵循MVC(Model-...
2. **代码生成器(Code Generator)**:提供了一种方式来自动创建基于Hibernate的持久层代码,包括实体类、映射文件、DAO和Service层代码。 3. **HQL和SQL查询编辑器**:提供了集成的HQL(Hibernate Query Language...
generator 是 Hibernate 中的一种生成器,用于生成唯一的标识符。generator 可以通过 Java 类或 XML 文件来定义。 composite-id composite-id 是 Hibernate 中的一种复合标识符,用于标识对象模型的唯一性。...
`generator = "MyTableGen"` 引用了我们在前面定义的生成器。 通过这种方式,`@TableGenerator` 提供了一种灵活的策略来处理主键生成,特别是在跨数据库系统或分布式环境中。它可以确保ID的全局唯一性,并且可以...
在源代码中,我们还会发现一些关键的API和设计模式,比如工厂模式用于创建不同类型的生成器,观察者模式用于监听并响应数据库结构的变化,以及责任链模式在处理代码生成流程中的应用。这些设计模式的运用使得代码...
Hibernate Tools 是一个强大的开发工具,它为Hibernate ORM框架提供了丰富的集成开发环境支持,包括逆向工程(从数据库生成实体类)、代码生成、JPA支持以及HQL和SQL查询的调试等。要运行或修改Hibernate Tools的...