Hibernate主键ID自动生成两种方法示例

2014-11-24 18:57:53 · 作者: · 浏览: 11

版本: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代码


总结: 两种方法相比之下,方法一比较简单,能满足一般情况,项目中用的比较多。方法一无法处理时才用方法二,例如从其它系统数据库复制表的记录时用。