【问题标题】:how set start value for auto increment in grails如何在grails中设置自动增量的起始值
【发布时间】:2015-03-26 14:41:58
【问题描述】:

我在我的域类中使用我的自定义自动增量键

 static mapping = { id generator: 'increment', name: 'personId' }

是否可以从特定值开始自动递增,比如从 100 开始?

【问题讨论】:

  • 在域模型对象中你不需要 id 字段。或者你有什么有趣的任务?为什么要为 id 设置特定值? Id 字段必须是唯一的,并且不等于 100 或 1000 是第一个 id。我认为这取决于您的数据库。
  • 为什么不在您的自定义 ID 生成器中执行此操作?
  • @alnasfire 我的问题是我在向此域插入数据时没有提供值。我使用 personId 作为 db 创建的自动增量值,但是我需要它从 3 位数字开始跨度>
  • @dev,你用的是哪个数据库?

标签: grails grails-orm grails-domain-class


【解决方案1】:

您可以使用org.hibernate.id.enhanced.SequenceStyleGenerator 生成器设置自动增量的初始值。此生成器采用参数initial_value,这将是您的第一个id 的值。 (之后,它会增加 1,就像你习惯的那样。)

static mapping = {
    id(generator: 'org.hibernate.id.enhanced.SequenceStyleGenerator', 
        params: [sequence_name: 'start_seq', initial_value: 100])
}

【讨论】:

    猜你喜欢
    • 2012-05-16
    • 2016-05-10
    • 1970-01-01
    • 2017-05-20
    • 2018-02-11
    • 1970-01-01
    • 1970-01-01
    • 2011-11-25
    • 2013-04-20
    相关资源
    最近更新 更多