常用的generator中的class:
-------------------------------------------
1、
native:跨数据库时使用,由底层方言产生。
< id name="id" column="id">
<generator class="native"/>
< /id>
注意:使用native时Hibernate默认会查找Oracle中的hibernate_sequence序列,若没有,连Oracle数据库会报错,而Default.sequence为hibernate_sequence。
-----------------------------------------------------------------
2、
assigned:用户自定义id。
-----------------------------------------------------------------
3、
foreign:用于一对一关系共享主键时,两id值一样。
-----------------------------------------------------------------
4、
identity:用于MySql数据库。特点:递增
< id name="id" column="id">
< generator class="identity"/>
< /id>
注:对于MySql数据库使用递增序列时需要在建表时对主键指定为auto_increment属性。