Hibernate主键ID自动生成两种方法示例,用uuid生成唯一的主键, 用这种方法,如果对象的id为null,保存时会自动生成一个UUID,如
版本:hibernate-3.2.7
方法之一: 用uuid生成唯一的主键, 用这种方法,如果对象的id为null,保存时会自动生成一个UUID,如果id不为null,保存时会从数据库中找出这条记录,然后执行update,如果未找到是抛出异常。
Xxxclass.hbm.xml代码
Xxxclass.java代码
方法之二: 用org.hibernate.id.UUIDHexGenerator生成唯一的主键, 用这种方法,如果对象的id为null,,保存时会自动生成一个UUID,如果id不为null,保存时会从数据库中找出这条记录,然后执行update,如果未找则执行insert。
Xxxclass.hbm.xml代码
Xxxclass.java代码
Assignedidmodel.java代码
Assigncopiedid.java代码
总结: 两种方法相比之下,方法一比较简单,能满足一般情况,项目中用的比较多。方法一无法处理时才用方法二,例如从其它系统数据库复制表的记录时用。