Grails使用自动ID在域持久性上创建其他属性

时间:2019-01-15 16:38:55

标签: grails persistence gorm

肯定有更好的方法吗?

我想使用自动生成的ID来创建另一个自定义ID。当前我正在使用下面的afterInsert方法...

def afterInsert() {
    def Instance = TttTicket.get(this.id)
    Instance.number = project.ticketPrepender + id.toString().padLeft( 5, '0' )
    Instance.save()
}

有人可以提出更好的方法吗?

1 个答案:

答案 0 :(得分:1)

  

有人可以提出更好的方法吗?

是的

最好的选择取决于某些因素,例如该属性的存在原因,它是否会发生变化以及您需要在何处访问它。

一种选择是使number处于瞬态状态,删除number字段并使用getNumber()方法,该方法返回类似project.ticketPrepender + id.toString().padLeft( 5, '0' )的内容。