:?
正在练习hibernate,将hibernate融入到以前的项目中。
对于<id></id>中的<generator>理解,不过想使用自己定义的格式流水号。头大了啊。
看参考文档中说明有那么多的可选择,我先选择sequence吧。
呵呵,今天看论坛上的"用户自定义ID Generator的例子",有所启发,按照自己的想法实现了,只是奇怪为何这个例子只有代码没有解释说明,摸索了一会,根据JB的提示错误搞定了。
问题关键集中在其类的映射文件上.hbm.xml的<generator>元素中的声明。
<generator class="com.dsii.hibernate.po.CustomizedIdGenerator">
<param name="table">uid_table</param>
<param name="column">next_hi_value_column</param>
<param name="prefix">C</param>
</generator>
其中class为自定义的类,访问方式同我们访问普通的类一样,这个CustomizedIdGenerator类应当extends net.sf.hibernate.id.TableGenerator类,专门负责生成想要的ID。
而后<param name="table">uid_table</param>指名使用哪个表来记录下个可用的ID值,所以还需要一个column声明<param name="column">next_hi_value_column</param>,此时要记得生成这个表后,该column的值一定要给个初值,否则报错要你提供一个hi value。<param name="prefix">C</param>顾名思义当然就是前缀了,这样定义后生成的id形式为CX,其中X为数字。
CustomizedIdGenerator类代码请自行看论坛的文章吧。虽然没有完全搞懂,但也实现了我的需要。其实很简单的,就在最后的return处加上自己需要的格式。比如我就实现了CCC00000002342格式,呵呵,还不错嘛。
此处需要注意的是,千万不可以使用Tomcat的连接池,否则自定义id功能的无法使用。最好选择使用hibernate的自带的连接池。
希望根据此方式类推,慢慢掌握generator的做法。
分享到:
相关推荐
这个属性可以配置在 `hibernate.hbm.xml` 文件中的 `<id>` 标签内,它允许你选择不同的策略来生成 ID。 1. **identity**:这个生成器适用于像 MySQL 这样的数据库,它依赖于数据库自身的自动递增功能。例如,在 ...
《使用Hibernate Code Generator提高开发效率》 在Java J2EE开发中,Hibernate作为一个强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,手动编写与数据库表对应的Java实体类、Hibernate的.hbm映射...
在Hibernate中,`Generator`是负责生成主键值的策略,通常在`<id>`元素中通过`class`属性指定。不同的数据库和不同的应用场景可能需要不同的生成策略。接下来,我们将逐一介绍各种常见的生成策略及其适用场景。 ###...
Hibernate 映射文件 id 的 generator 配置方法 Hibernate 映射文件 id 的 generator 配置方法是 Hibernate 框架中的一种重要配置,用于生成持久化类实例的唯一标识符。下面将对 Hibernate 映射文件 id 的 generator...
在Java的持久化框架Hibernate中,ID生成策略是至关重要的一个环节。它是用来唯一标识数据库中每一...通过学习这些示例,你可以更好地理解如何在Hibernate中配置和使用不同的ID生成策略,并在实际项目中做出明智的选择。
### 深入理解Hibernate缓存 #### 一、Hibernate缓存概述 Hibernate作为一款流行的Java持久层框架,为开发者提供了高效且灵活的数据访问能力。其中,缓存机制是Hibernate性能优化的重要组成部分之一。理解Hibernate...
idgenerator是基于redis的id生成器 dgenerator是基于redis的id生成器 安装 取得 go get github.com/lbfatcgf/idgenerator 快速开始 package main import ( "fmt" "net/http" "os" "os/signal" "syscall" ...
Hibernate 完整使用教程 Hibernate 是一种流行的开源持久层框架,允许开发者使用面向...composite-id 是 Hibernate 中的一种复合标识符,用于标识对象模型的唯一性。composite-id 可以通过 Java 类或 XML 文件来定义。
理解这些知识点对于高效地使用Hibernate进行数据库操作至关重要。通过正确配置`hibernate.properties`,遵循`hibernate-configuration-3.0.dtd`和`hibernate-mapping-3.0.dtd`的规则,开发者可以实现Java对象与...
在实际开发中,理解并掌握这些知识点将有助于更有效地使用和定制Hibernate Tools,提升开发效率。如果你在运行或修改源码过程中遇到问题,通常可以通过查阅官方文档、社区论坛或Stack Overflow等资源找到解决方案。
【hibernate 重点知识】 一、hibernate 简介 Hibernate 是一个流行的 Java 应用程序框架,主要用于简化对象关系映射(ORM)的过程...理解并熟练掌握 Hibernate 的各项功能,对于任何 Java 开发者来说都是至关重要的。
一个用Java 编写简单的自定义ID 生成器IDGenerator
本文将通过对源代码的深入剖析,探讨其中的关键组件——Eclipse Plugin和Code Generator,帮助读者更全面地理解和运用Hibernate Tool。 首先,我们关注的是Eclipse Plugin。Eclipse Plugin是Eclipse集成开发环境的...
理解并熟练掌握这些知识将极大地帮助开发人员利用Hibernate进行高效的数据持久化操作。在未来的工作实践中,开发人员还可以根据项目的具体需求灵活运用这些技巧,进一步提升系统的性能和可维护性。
迄今为止最全面的分布式主键ID生成器。优化的雪花算法(SnowFlake)——雪花漂移算法,在缩短ID长度的同时,具备极高瞬时并发处理能力(50W/0.1s)。 原生支持 C#/Java/Go/Rust/C/SQL 等多语言,且提供 PHP 扩展及 ...
【Hibernate快速入门教程】 ...通过理解Hibernate的基本原理和配置,初学者可以迅速上手并开始开发基于Hibernate的应用。这个快速入门教程提供了清晰的步骤和简单的示例,是学习Hibernate的绝佳起点。
Hibernate 配置文件详解 Hibernate 是一个流行的 ORM(Object-Relational Mapping)框架,用于简化 Java 应用程序中的数据库交互。 Hibernate 的配置文件是其核心组件之一,用于定义 Hibernate 的运行期参数。下面...
### Hibernate核心知识点详解 #### Hibernate概述 - **定义与作用:** Hibernate是...通过上述对Hibernate的核心知识点的详细解析,希望能够帮助读者更好地理解和掌握这一关键技术,为今后的实际开发打下坚实的基础。
本文将深入探讨Hibernate4的配置和使用,帮助开发者更好地理解和应用这个框架。 1. Hibernate配置: Hibernate的配置主要通过一个名为`hibernate.cfg.xml`的文件进行。该文件定义了与数据库的连接参数、方言、缓存...