1.1 程序员自己控制:assigned
1.2 数据库控制: identity(标识列/自动增长) sequence
1.3 hibernate控制:increment uuid/uuid.hex
<id name="sid" type="java.lang.Integer" column="sid">
<!-- 数据库控制 等于identity+sequence-->
<generator class="native"></generator>
<!-- 交给hibernate控制自增长 -->
<!-- <generator class="increment"></generator>-->
<!-- 自定义主键 -->
<!-- <generator class="com.zking.struts.id.IdCreate"></generator>-->
</id>
1.4 其它:native
1.5 自定义主键生成
public class IdCreate implements IdentifierGenerator {
@Override
public Serializable generate(SharedSessionContractImplementor session, Object object) throws HibernateException {
return "zking_student_" + new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date());//对应你要生成主键的样式
}
}