oracle - Grails 与 Oracle-DB : seems to have only one global counter for IDs

标签 oracle hibernate grails

当我将 hsqldb 与 grails 一起使用时,似乎每个域类都有自己的 id 自动增量计数器。当我创建 a 类型的对象时,它的 ID=1。当我创建 b 类型的对象时,它的 ID=1。当我再次创建 a 类型的对象时,它的 ID=2。

这就是我期望的行为。

当我使用 Oracle 数据库时,似乎所有域类的所有 ID 都只有一个全局计数器。当我创建 a 类型的对象时,它的 ID=1。当我创建 b 类型的对象时,它的 ID=2。当我再次创建 a 类型的对象时,它的 ID=3。

如何更改此设置?

最佳答案

Grails 使用 hibernate,默认情况下 hibernate 仅使用一个序列来生成所有 id。如果每个表需要一个序列,您可以编辑 Config.groovy。添加以下行:

grails.gorm.default.mapping = {id generator:'identity'}

关于oracle - Grails 与 Oracle-DB : seems to have only one global counter for IDs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4636124/

相关文章:

java - JPA 一对多与多对多 - 书籍和作者

mysql - 如何在Mysql中使用用户定义的@variable作为线程安全

grails - 如何捕获用户在 Grails 中登录的用户 ID

javascript - 在模态窗口中使用 tinyMCE

sql - PLSQL - 提高代码效率

python - Pandas to_sql - 追加与替换

sql - 触发以防止从表中删除任何内容

linux - 将 bash 用户输入传递给 sql 语句时出错

hibernate - Spring MVC代码-部署时抛出HSEARCH000103异常

grails - groovy 和 grails 的编辑器?