千家信息网

Hibernate的generator属性怎么使用

发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,这篇文章主要介绍"Hibernate的generator属性怎么使用",在日常操作中,相信很多人在Hibernate的generator属性怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的
千家信息网最后更新 2024年12月12日Hibernate的generator属性怎么使用

这篇文章主要介绍"Hibernate的generator属性怎么使用",在日常操作中,相信很多人在Hibernate的generator属性怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Hibernate的generator属性怎么使用"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1、identity:用于MySql数据库。特点:递增

< id name="id" column="id">       < generator class="identity"/>   < /id>

注:对于MySql数据库使用递增序列时需要在建表时对主键指定为auto_increment属性。

2、sequence:用于Oracle数据库

< id name="id" column="id">      < generator class="sequence">        < param name="sequence">序列名< /param>      < /generator>   < /id>

3、native:跨数据库时使用,由底层方言产生。
Default.sequence为hibernate_sequence

< id name="id" column="id">      < generator class="native"/>   < /id>

注:使用native时Hibernate默认会去查找Oracle中的hibernate_sequence序列。
如果Oracle中没有该序列,连Oracle数据库时会报错。

4、hilo:通过高低位合成id,先建表hi_value,再建列next_value。必须要有初始值。

< id name="id" column="id">       < generator class="hilo">         < param name="table">high_val< /param>          < param name="column">nextval< /param>         < param name="max_lo">5< /param>       < /generator>   < /id>

5、sequencehilo:同过高低位合成id,建一个sequence序列,不用建表。

< id name="id" column="id">   < generator class="hilo">   < param name="sequence">high_val_seq< /param>   < param name="max_lo">5< /param>   < /generator>   < /id>

6、assigned:用户自定义id;

< id name="id" column="id">   < generator class="assigned"/>   < /id>

到此,关于"Hibernate的generator属性怎么使用"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

0