【问题标题】:Grails:Generating Custom IDGrails:生成自定义 ID
【发布时间】:2011-08-02 21:23:02
【问题描述】:

我有一个域对象Issue,它有一个属性Date createTime,我想通过一些自定义逻辑将其用作GORM 的ID。

例如,假设第一个Issue 是在2011/08/02 上创建的,那么ID 应该是2011080201。同一天的下一个Issue应该有ID2011080202等等。

那么,第二天创建的第一个问题2011/08/03 ID 应该是2011080301。

所以基本要求是我必须在 createTime 属性上附加一个递增的值。

应该采取什么方法??

【问题讨论】:

    标签: hibernate grails grails-orm unique-id


    【解决方案1】:

    我相信你必须创建一个自定义 id 生成器。

    尝试创建一个实现接口org.hibernate.id.IdentifierGenerator的类my.package.MyCustomIdGenerator。

    然后尝试像这样设置您的域类。

    static mapping = {    
        id generator:'my.package.MyCustomIdGenerator', params:[...]    
    }
    

    上述语法可能不正确。但值得一试。

    看这里:http://grails.org/doc/1.0.x/guide/5.%20Object%20Relational%20Mapping%20(GORM).html

    这里:

    http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-declaration-id

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-25
      • 2020-05-25
      • 2021-11-28
      • 1970-01-01
      • 1970-01-01
      • 2016-12-09
      • 2017-04-25
      相关资源
      最近更新 更多