Hibernate自定义简单主键生成
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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")
5private String pk;
2、创建主键⽣成器
1package com.xmq.core;
2
3import java.io.Serializable;
4
5import org.hibernate.engine.spi.SessionImplementor;
6import org.hibernate.id.UUIDHexGenerator;
7
8public class XMQGenerator extends UUIDHexGenerator {
9
10public XMQGenerator () {
11super();
12 }
13
14 @Override
15public Serializable generate(SessionImplementor session, Object obj) {
16return "PK_" + super.generate(session, obj);
17 }
18
19
20 }
注意:在pojo的⽗类中有时候带有@MappedSuperclass注解,这表⽰这个⽗类不是⼀个完整的实体类,也不会映射到数据库表,但是他的属性都将映射到其⼦类的数据表字段中。