【发布时间】:2016-09-23 19:45:35
【问题描述】:
我正在使用 getPersistentValue() 方法来确定属性如何更改。但是我发现即使我没有明确保存对象,此方法也会返回不同的值。 这是我一直缩小到...
trip.properties=[start:params.startmile,
end:params.endmile,
satusFlag:params.statusFlag,
description:params.description
];
// print statusFlag for checking
log.debug(trip.getPersistentValue('statusFlag')+":"+trip.statusFlag);
def driver=driverService.getValidDriver(params.driver,params.date);
//the persistent value of statusFlag has changed!!!!
log.debug(trip.getPersistentValue('statusFlag')+":"+trip.statusFlag);
服务电话只是另一个标准搜索,如果他/她在某个日期受雇,则返回司机
def driver=Drivers.createCriteria().get{
and{
eq('id',id);
eq('division',division);
le('startDate',compareDate);
or{
ge('endDate',compareDate);
isNull('endDate');
}
}
};
return service
出于某种原因,服务中的此查询会强制我的其他对象更新它们的持久值?有人可以解释为什么以及如何避免这种情况吗?
【问题讨论】:
-
您不必显式保存以更新值。尽管您的查询没有显示任何形式的更新。可能是因为 .get try .list 或 .read 可能?
标签: grails grails-orm