HIBERNATE里有很多主键生成和策略如:uuid、native等,现我我们可以自己来定义主键生成的策略。
1: 新建一个实现IdentifierGenerator和Configurable接口的类。generate方法返回生成的最终的值。
configure:用来得到我们配置文件里传入的参数. 如下:
/***
* 自定义主键生成策略
*
* @author jianjun.wu
*
*/
public class PrimaryKeyGenertor implements IdentifierGenerator,Configurable {
@Override
public Serializable generate(SessionImplementor arg0, Object arg1)
throws HibernateException {
return Long.valueOf(998);
}
/***
* Configurable接口的方法
*/
@Override
public void configure(Type arg0, Properties arg1, Dialect arg2)
throws MappingException {
Object obj = arg1.get("length");
System.out.println("得到传入的参数length="+obj);
}
}
2: 在hbm里对我们自己定义的生成策略进行调用. 如下
<hibernate-mapping package="org.wujianjun.hibernate.domain">
<class name="Event" table="t_event">
<id name="id" column="event_id">
<generator class="org.wujianjun.hibernate.generator.PrimaryKeyGenertor"> <param
name="length">44</param> </generator>
</id>
</class>
</hibernate-mapping>
运行程序则可以看到生成的主键就会按我们的策略来生成了
分享到:
相关推荐
### Hibernate 主键生成策略详解 #### 一、概述 Hibernate 是一款开源的对象关系映射 (ORM) 框架,它极大地简化了 Java 应用程序与数据库之间的交互过程。在使用 Hibernate 进行持久化操作时,经常需要处理实体类...
在 Hibernate 中,主键生成策略是一个重要的概念,用于指定如何为持久化对象生成唯一的标识符(即主键)。合理的主键生成策略不仅能提高应用程序的性能,还能确保数据的一致性和完整性。 #### 二、主键生成策略分类...
### 常用Hibernate主键生成策略详解 #### 一、引言 在数据库设计与操作过程中,主键是确保数据唯一性的关键要素之一。在实际应用中,开发者经常需要处理不同类型的数据库,并且需要应对各种不同的主键生成需求。...
在Java的持久化框架Hibernate中,主键生成策略是一个至关重要的概念,它决定了数据库表中主键值如何自动生成。主键通常是表中唯一标识记录的一列,对于数据的完整性和一致性至关重要。以下是对Hibernate中主键生成...
### hibernate主键生成策略详解 #### 一、assigned **assigned** 主键生成策略意味着主键的值是由外部程序负责生成的,并且在执行 `save()` 方法之前必须明确指定一个值。在这种策略下,Hibernate 不参与主键的...
### Hibernate 主键生成策略详解 Hibernate 是一款流行的 Java 持久层框架,它提供了对象关系映射(ORM)的功能,使得 Java 开发者能够更高效地与数据库进行交互。在 Hibernate 中,主键生成策略是一项核心功能,...
### Hibernate映射主键生成策略native #### 一、引言 在ORM(对象关系映射)技术中,Hibernate作为一款流行的Java持久层框架,在处理数据持久化方面提供了丰富的功能和灵活性。其中,主键生成策略是Hibernate配置...
### Hibernate 主键生成策略详解 #### 一、概述 Hibernate 是一种流行的 Java 持久化框架,它简化了数据库操作,并提供了多种主键生成策略。主键是表中的一个或多个字段组合,用于唯一标识表中的每一条记录。...
以下是关于Hibernate主键生成方式的详细说明: 1. **Identity方式**:`<generator class="identity"/>` 这种方式依赖于数据库自身的自动增长机制。例如,在MySQL中,它可以与`AUTO_INCREMENT`属性配合使用。当...
### Hibernate主键生成策略 1. **`native`**:类似于JPA的`GenerationType.AUTO`,根据底层数据库选择合适的生成策略。 2. **`identity`**:相当于JPA的`GenerationType.IDENTITY`,适合自动增长主键的数据库。 3...
以下是对Hibernate主键生成策略的详细说明: 1. **assigned**: 这种策略要求用户在调用`save()`方法之前手动设置主键值。Hibernate不参与主键的生成,这意味着主键生成完全由应用控制,可以与数据库无关。这种...
Hibernate还提供了其他主键生成策略,如`increment`(适用于单线程环境),`identity`(数据库自增,如MySQL),`table`(通过独立的主键生成表)等,开发者应根据具体需求选择合适的策略。 6. **跨数据库兼容性**...
本压缩包文件"04_JPA详解_第一个JPA实例与JPA主键生成策略.zip"包含了关于如何在实际项目中运用JPA,以及理解JPA主键生成策略的详细教程。 ### JPA基础 1. **JPA简介**: JPA是Java EE的一部分,它提供了一套规范,...
Hibernate映射文件主键生成策略详解 Hibernate.cfg.xml配置文件是Hibernate框架中的一部分,该文件用于配置Hibernate的各种设置,例如数据库连接、dialect、mapping文件等。在这个文件中,我们可以看到hibernate-...
JPA通过`@GeneratedValue`注解来指定主键生成策略,提供了多种灵活的方案供开发者选择。 #### 二、单字段主键类型生成策略 在JPA中,单字段主键类型的生成策略主要包括以下四种: 1. **AUTO(自动自增生成)** ...