Grails 使用自动 ID 在域持久性中创建额外的 属性
Grails using auto id to create additional property at domain persistence
肯定有更好的方法吗?
我想使用自动生成的 ID 创建另一个自定义 ID。目前我正在使用下面的 afterInsert 方法...
def afterInsert() {
def Instance = TttTicket.get(this.id)
Instance.number = project.ticketPrepender + id.toString().padLeft( 5, '0' )
Instance.save()
}
谁能提出更好的方法?
Can anyone suggest a better way?
是的。
最好的做法取决于一些因素,比如这个 属性 存在的原因、它会不会改变以及您需要在哪里访问它。
一种选择是使 number
成为瞬态,删除 number
字段并使用 getNumber()
方法,该方法 returns 类似于 project.ticketPrepender + id.toString().padLeft( 5, '0' )
。
肯定有更好的方法吗?
我想使用自动生成的 ID 创建另一个自定义 ID。目前我正在使用下面的 afterInsert 方法...
def afterInsert() {
def Instance = TttTicket.get(this.id)
Instance.number = project.ticketPrepender + id.toString().padLeft( 5, '0' )
Instance.save()
}
谁能提出更好的方法?
Can anyone suggest a better way?
是的。
最好的做法取决于一些因素,比如这个 属性 存在的原因、它会不会改变以及您需要在哪里访问它。
一种选择是使 number
成为瞬态,删除 number
字段并使用 getNumber()
方法,该方法 returns 类似于 project.ticketPrepender + id.toString().padLeft( 5, '0' )
。