package com.sh.common.utils;
/**
* 主键的产生方式
* 精确到年月日时分秒
* */
import java.io.Serializable;
import org.hibernate.engine.SessionImplementor;
import org.hibernate.id.AbstractUUIDGenerator;
import org.hibernate.id.Configurable;
import org.hibernate.id.IdentifierGenerator;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
import org.hibernate.Hibernate;
import org.hibernate.dialect.Dialect;
import org.hibernate.type.Type;
import org.hibernate.util.PropertiesHelper;
/**
* <b>Key</b><br>
* @author libiao
*/
public class KeyUtils extends AbstractUUIDGenerator implements Configurable {
public Serializable generate(SessionImplementor session, Object obj) {
Date today=new Date();
SimpleDateFormat formatDate=new SimpleDateFormat("yyyyMMddhhmmss");
String time=formatDate.format(today);
return time;
}
public void configure(Type type, Properties params, Dialect d) {
// sep = PropertiesHelper.getString("separator", params, "");
}
}
*.hbx.xml配置文件中写入
<id name="serialno" type="java.lang.String">
<column name="SERIALNO" length="32" />
<generator class="com.sh.common.utils.KeyUtils">
</generator>
</id>
/**今天在项目开发中遇到的,
*需要自定义主键产生方式
*所以手写了一个*/