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注解,这表示这个父类不是一个完整的实体类,也不会映射到数据库表,但是他的属性都将映射到其子类的数据表字段中。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM