我有一个域类DailyBooking
和一个生成的Controller。在更新功能中,我叫userService.computeFlexTime(dailyBookingInstance)
。在那里,我想从DailyBooking(从数据库)获取当前的持久条目:
DailyBooking currentEntry = DailyBooking.findByUserAndDate(dailyBookingInstance.user, dailyBookingInstance.date)
据我了解,我应该从数据库中获取当前的持久化条目,因为我在更新功能中的save语句之前调用了服务。但是当我实际调试时,currentEntry具有来自更新对象的值。此外,新值已被写入数据库中,而无需调用save。
更新方法:
if(dailyBookingInstance.end != null){
userService.computeFlexTime(dailyBookingInstance)
}
dailyBookingInstance.save flush:true
另一个问题是,由于此方法未返回,为什么为什么会对我的Controller中的dailyBookingInstance产生影响?我认为在Java中,我将不得不使用
ref
或smth。像那样。 最佳答案
关于hibernate - Grails,GORM,更新方法在调用save()之前保留对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30376550/