0

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

例如假设第一个Issue创建于2011/08/02,则ID应该是2011080201。同一天的下Issue一个应该有的ID 2011080202等等。

然后,第二天创建的第一个问题2011/08/03应该ID2011080301.

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

应该是什么方法??

4

1 回答 1

1

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

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

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

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

于 2011-08-03T08:13:03.580 回答