1. hibernate的主键生成器:
generator元素:表示了一个主键生成器,它用来为持久化类实例生成唯一的标识 。
程序员自己控制:assigned
数据库控制: identity(标识列/自动增长) sequence
hibernate控制:increment uuid/uuid.hex
其它:native
除了常用的主键生成器之外,客户要求的业务通常不是单一的,一般是XXX+XXX+XXX【这里用 公司名_模块名_时间戳 举例】
①:自定义主键生成器的类
public class MyIdCreate implements IdentifierGenerator{//主键生成器都实现了这个接口
public Serializable generate(SharedSessionContractImplementor session, Object object) throws HibernateException {
return "xxx_xxx_"+new SimpleDateFormat("yyyy-MM-dd");
}
}
②:在映射文件里使用
<id name="wid" type="java.lang.String" column="wid">
<generator class="com.zking.two.id.MyIdCreate"></generator>
</id>