Hibernate自定义简单主键生成
Hibernate自定义主键生成
当使用Hibernate定义pojo的时候,有时候需要生成一定规则的数据表主键,这时候我们可以采用自定义主键生成方式去生成主键。
例如:
1、在pojo属性中定义数据表主键
1 @Id 2 @GeneratedValue(generator = "xmqId") 3 @GenericGenerator(name = "xmqId", strategy = "com.xmq.core.XMQGenerator") 4 @Column(name = "C_ID") 5 private String pk;
2、创建主键生成器
1 package com.xmq.core;
2
3 import java.io.Serializable;
4
5 import org.hibernate.engine.spi.SessionImplementor;
6 import org.hibernate.id.UUIDHexGenerator;
7
8 public class XMQGenerator extends UUIDHexGenerator {
9
10 public XMQGenerator () {
11 super();
12 }
13
14 @Override
15 public Serializable generate(SessionImplementor session, Object obj) {
16 return "PK_" + super.generate(session, obj);
17 }
18
19
20 }注意:在pojo的父类中有时候带有@MappedSuperclass注解,这表示这个父类不是一个完整的实体类,也不会映射到数据库表,但是他的属性都将映射到其子类的数据表字段中。
Hibernate 的详细介绍:请点这里
Hibernate 的下载地址:请点这里