我有一个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