Hibernate 自定义主键生成类
2016-03-17 21:29
288 查看
转自:http://hzhlu.iteye.com/blog/803153
KeyGen类
用于生成 形如 yyyyMMDD+序号形式的主键
POJO类定义
测试类
KeyGen类
用于生成 形如 yyyyMMDD+序号形式的主键
package keyGen; public class OrderKeyGen implements IdentifierGenerator { private static SimpleDateFormat preFix = new SimpleDateFormat("yyyyMMdd"); @Override public synchronized Serializable generate(SessionImplementor arg0, Object arg1) throws HibernateException { String datePart = preFix.format(new Date()); String idString = datePart + System.currentTimeMillis() % 99; return idString; } }
POJO类定义
package db; @Entity @Table(name = "t_diykey", catalog = "test") public class TDiykey implements java.io.Serializable { // Fields private String dbid; private String notes; // Constructors /** default constructor */ public TDiykey() { } /** full constructor */ public TDiykey(String notes) { this.notes = notes; } // Property accessors @GenericGenerator(name = "generator", strategy = "keyGen.OrderKeyGen") @Id @GeneratedValue(generator = "generator") @Column(name = "dbid", unique = true, nullable = false, length = 10) public String getDbid() { return this.dbid; } public void setDbid(String dbid) { this.dbid = dbid; } @Column(name = "notes", length = 20) public String getNotes() { return this.notes; } public void setNotes(String notes) { this.notes = notes; } }
测试类
public class MyDIYKeyTest { public static void main(String[] args) { Session session = HibernateSessionFactory.getSession(); Transaction tx = session.beginTransaction(); TDiykey tDiykey = new TDiykey(); tDiykey.setNotes("aaaa"); session.save(tDiykey); tx.commit(); HibernateSessionFactory.closeSession(); }
相关文章推荐
- Oracle SQL语句执行顺序
- 字段定义引起的bug
- 让 innerHTML 进来的 script 代码跑起来
- 复利计算器2
- js代码判断浏览器种类IE、FF、Opera、Safari、chrome及版本
- wicket基本控件使用笔记
- 查看Tomcat版本
- hdu 3400-三分套三分
- UESTC 483 Data Structure Problem
- 《GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形》的正确版本及源代码
- HDU1042&1753--大数运算--JAVA
- 换零钱实现之贪心算法
- HDU 1059.Dividing【多重背包+筛选(DP)】【3月17】
- LeetCode- Evaluate Reverse Polish Notation
- 程序员面试十大算法
- 卡巴斯基真的好坑
- 构建之法读后感02
- 易语言 线程消息队列
- 第八章:JavaScript事件驱动编程和访问CSS技术
- 史上最详细的Android Studio系列教程四--Gradle基础