这不是一个真正的问题,但让我感到惊讶:
当我使用带有不同数据库的Grails时,我得到不同的计数器增量......:
我在哪里可以找到有关此行为的更多信息以及哪一个最佳?
答案 0 :(得分:3)
这实际上取决于特定方言中的默认id generation strategy。 Grails允许您使用mapping closure自定义生成策略。
最安全的(即每个RDBMS都支持)生成策略是TABLE,这是许多JPA实现的首选。这可能是您在HSQLDB中获得的。但是,Oracle支持序列和这些对象通常更好地优化处理密钥生成 - 因此,Oracle的方言似乎使用一个全局序列。我不熟悉Derby,但可能在那里有标识列支持,你得到的是某种UUID。