public class CustomIdSequenceGenerator extends org.hibernate.id.SequenceGenerator{
private DecimalFormat format;
public void configure(Type type, Properties params, Dialect dialect) {
super.configure( type, params, dialect);
String formatPattern = params.getProperty("format");
if(formatPattern!=null)
format=new DecimalFormat(formatPattern);
}
public synchronized Serializable generate(SessionImplementor session, Object object)
throws HibernateException {
Serializable generated = super.generate(session, object);
String v=null;
if(generated instanceof String)
generated=Long.parseLong((String)generated);
if(generated instanceof Number){
if(format!=null)
v=format.format(generated);
else
v=String.valueOf(generated);
}else
v=(String) generated;
return v;
}
}
自定义 TableGenerator
public class CustomIdTableGenerator extends org.hibernate.id.TableGenerator{
private DecimalFormat format;
public void configure(Type type, Properties params, Dialect dialect) {
super.configure( type, params, dialect);
String formatPattern = params.getProperty("format");
if(formatPattern!=null)
format=new DecimalFormat(formatPattern);
}
public synchronized Serializable generate(SessionImplementor session, Object object)
throws HibernateException {
Serializable generated = super.generate(session, object);
String v=null;
if(generated instanceof String)
generated=Long.parseLong((String)generated);
if(generated instanceof Number){
if(format!=null)
v=format.format(generated);
else
v=String.valueOf(generated);
}else
v=(String) generated;
return v;
}
}
hibernate xml
parameters = {
@Parameter(name = "format", value = "CK0000000")
}
分享到:
相关推荐
在 Hibernate 中,`generator` 属性是用于指定如何生成实体类的唯一标识(通常为主键)的一种机制。这个属性可以配置在 `hibernate.hbm.xml` 文件中的 `<id>` 标签内,它允许你选择不同的策略来生成 ID。 1. **...
《使用Hibernate Code Generator提高开发效率》 在Java J2EE开发中,Hibernate作为一个强大的对象关系映射(ORM)框架,极大地简化了数据库操作。然而,手动编写与数据库表对应的Java实体类、Hibernate的.hbm映射...
`Laravel开发-custom-generator`项目旨在为存储库模式的应用程序提供定制化的代码生成工具,帮助开发者快速构建新功能,减少手动编写重复代码的时间。 ### 1. Laravel概述 Laravel是一个基于PHP的开源Web应用框架,...
### Hibernate中的Generator生成方式详解 在Hibernate框架中,对象与关系映射(ORM)是其核心功能之一,它能够将面向对象模型中的类与数据库表建立对应关系,从而实现对象和数据库之间的转换。而在持久化对象的过程...
Hibernate 映射文件 id 的 generator 配置方法 Hibernate 映射文件 id 的 generator 配置方法是 Hibernate 框架中的一种重要配置,用于生成持久化类实例的唯一标识符。下面将对 Hibernate 映射文件 id 的 generator...
Hibernate Pojo Generator生成通过Hibernate Annotations(+ Spring)访问数据库所需的所有Java代码,包括JUnit测试(每个表1个),这些测试可以立即运行而无需进一步定制。 大部分使用MySQL进行测试。 移至GitHub:...
Hibernate Tools 是一个强大的开发工具,它为Hibernate ORM框架提供了丰富的集成开发环境支持,包括逆向工程(从数据库生成实体类)、代码生成、JPA支持以及HQL和SQL查询的调试等。要运行或修改Hibernate Tools的...
generator 是 Hibernate 中的一种生成器,用于生成唯一的标识符。generator 可以通过 Java 类或 XML 文件来定义。 composite-id composite-id 是 Hibernate 中的一种复合标识符,用于标识对象模型的唯一性。...
2. **代码生成器(Code Generator)**:提供了一种方式来自动创建基于Hibernate的持久层代码,包括实体类、映射文件、DAO和Service层代码。 3. **HQL和SQL查询编辑器**:提供了集成的HQL(Hibernate Query Language...
<generator class="increment"/> </hibernate-mapping> ``` 在这个例子中,`<class>`元素代表一个Java类,`<id>`和`<property>`元素则分别表示主键和普通属性,它们都映射到了数据库表的相应列。 总结...
《深入探索Hibernate Tool源代码:Eclipse Plugin与Code Generator解析》 Hibernate Tool是Java开发者们常用的工具,它基于Hibernate框架,提供了丰富的功能,包括数据库逆向工程、对象关系映射(ORM)代码自动生成...
<generator class="native" /> <!-- 一对多关联关系 --> <one-to-many class="com.Hibernate.City" /> </hibernate-mapping> ``` 在该文件中,我们可以看到有多个关键的配置项: * `class`:定义...
Msc-generator是一款用于从文本描述中绘制各种图表的工具,它的版本为6.1.0,更新于2017年11月3日。这款工具可以生成多种类型的图表,包括信号图、流程图、块图等,每种图表都有其特定的用途和特点。为了更好地理解...
2. **Increment方式**:`<generator class="increment"/>` 这种方式由Hibernate自己管理主键的递增,而不是依赖数据库。它维护一个全局计数器,每次保存新实体时,计数器加一并作为主键值。但是,这种方式在多线程或...
<generator class="native"/> </hibernate-mapping> ``` 七、表与表的关系 Hibernate 支持多种数据库表之间的关系映射,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多...
<generator class="increment"/> ``` #### 单元测试 为了确保代码质量,还需要编写单元测试。使用JUnit框架可以方便地进行单元测试。 **HibernateTest.java** ```java import org.hibernate.Session; ...
例如,`hibernate-generator`任务可以用于生成Java实体类,而`hibernate-reverse-engineering`任务则用于进行逆向工程。 4. **更多工具**: 除了上述核心功能,Hibernate Tools 还包含了一些附加工具,如HQL...
赠送jar包:mybatis-generator-core-1.3.7.jar; 赠送原API文档:mybatis-generator-core-1.3.7-javadoc.jar; 赠送源代码:mybatis-generator-core-1.3.7-sources.jar; 赠送Maven依赖信息文件:mybatis-generator-...
【Hibernate快速入门教程】 在Java开发中,Hibernate是一个非常重要的框架,它实现了对象关系映射(ORM)技术,使得开发者可以使用面向对象的方式来操作数据库,极大地简化了数据访问层的编程工作。本教程针对初学...