我有一个Issue
具有属性的域对象,Date createTime
我想通过一些自定义逻辑将其用作 GORM 的 id。
例如假设第一个Issue
创建于2011/08/02
,则ID
应该是2011080201
。同一天的下Issue
一个应该有的ID
2011080202
等等。
然后,第二天创建的第一个问题2011/08/03
应该ID
是2011080301
.
所以基本要求是我必须在createTime
属性上附加一个递增的值。
应该是什么方法??
我有一个Issue
具有属性的域对象,Date createTime
我想通过一些自定义逻辑将其用作 GORM 的 id。
例如假设第一个Issue
创建于2011/08/02
,则ID
应该是2011080201
。同一天的下Issue
一个应该有的ID
2011080202
等等。
然后,第二天创建的第一个问题2011/08/03
应该ID
是2011080301
.
所以基本要求是我必须在createTime
属性上附加一个递增的值。
应该是什么方法??
我相信你必须创建一个自定义 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