Hibernate Grails,GORM,update方法在调用save()之前持久化对象

Hibernate Grails,GORM,update方法在调用save()之前持久化对象,hibernate,grails,gorm,Hibernate,Grails,Gorm,我有一个域类DailyBooking和一个生成的控制器。在更新函数中,我正在调用userService.computeFlexTime(dailyBookingInstance)。在那里,我想从DailyBooking(从数据库)获取当前的持久化条目: 据我所知,我应该从数据库中获取当前的持久化条目,因为我在update函数的save语句之前调用服务。但当我实际调试时,currentEntry具有来自更新对象的值。此外,新值已经写入数据库,而不调用save 更新方法: if(dailyBooki

我有一个域类
DailyBooking
和一个生成的控制器。在更新函数中,我正在调用
userService.computeFlexTime(dailyBookingInstance)
。在那里,我想从DailyBooking(从数据库)获取当前的持久化条目:

据我所知,我应该从数据库中获取当前的持久化条目,因为我在update函数的save语句之前调用服务。但当我实际调试时,currentEntry具有来自更新对象的值。此外,新值已经写入数据库,而不调用save

更新方法:

if(dailyBookingInstance.end != null){
        userService.computeFlexTime(dailyBookingInstance)
    }

    dailyBookingInstance.save flush:true

另一个问题是,为什么此方法会影响控制器中的dailyBookingInstance,因为它没有返回?我认为在Java中,我必须使用
ref
或smth。类似于此。

尝试使用transactionnal services中的

,从数据库检索的对象(或新创建和保存的对象)在方法执行后会自动持久化。我可以更改吗?我需要在currentEntry中输入一个对象,该对象在更新之前具有值。
if(dailyBookingInstance.end != null){
        userService.computeFlexTime(dailyBookingInstance)
    }

    dailyBookingInstance.save flush:true