我在Eclipse STS中使用Grails和Groovy,使用快速快捷命令快速生成域对象和控制器。例如,我创建了一个简单的Trip预订应用程序,生成的代码如下......
class Trip {
String name
String city
Date startDate
Date endDate
String purpose
String notes
}
控制器类缩短为仅显示保存部分...
class TripController {
def save = {
def tripInstance = new Trip(params)
if (tripInstance.save(flush: true)) {
flash.message = "${message(code: 'default.created.message', args: [message(code: 'trip.label', default: 'Trip'), tripInstance.id])}"
redirect(action: "show", id: tripInstance.id)
}
else {
render(view: "create", model: [tripInstance: tripInstance])
}
}
Trip域对象中没有save()方法,我假设它是动态创建的并保存到内部HSQL数据库中。我想知道如何覆盖save方法并提供我自己的实现,或者,我应该直接更改控制器代码并提供自己的保存逻辑,而不是这样做?