我们知道,我们总是使用Auto-Increment作为主键。
我想知道自动增量在mysql和hibernate上是如何工作的
例如,表中最新的主键值为10000。hibernate如何理解主键的当前值是10000,下一个值应该是10001?mysql如何知道表的下一个主键值是什么?
发布于 2014-01-09 15:51:31
我假设您正在使用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,对于指定了AUTO_INCREMENT id生成策略的每个表,MYSQL都有一个AUTO_INCREMENT列,其中存储了最近生成的Id。
https://stackoverflow.com/questions/21014330
复制相似问题