休眠自动增量如何工作?

时间:2014-01-09 07:42:11

标签: mysql hibernate

众所周知,我们总是使用自动增量作为主键。

我想知道自动增量如何适用于mysql和hibernate

例如,表中最新的主键值为10000。 hibernate如何理解主键的当前值是10000,下一个值应该是10001? mysql如何知道表的下一个主键值是什么?

1 个答案:

答案 0 :(得分:2)

我假设您正在使用GenerationType.AUTO让Hibernate确定如何处理id生成。以下是与您类似的问题: Who is responsible of the auto-incrementation of a primary key between MySQL and Hibernate?

因此对于MYSQL,hibernate默认为MYSQL的AUTO_INCREMENT。可以在此处找到AUTO_INCREMENT的说明:http://dev.mysql.com/doc/refman/5.0/en/example-auto-increment.html

至于Hibernate / MYSQL如何知道最后生成的id,MYSQL为每个表都有一个AUTO_INCREMENT列,其中指定了AUTO_INCREMENT id生成策略,其中存储了最近生成的Id。