我发生了一个我不明白的问题。以下代码不起作用:
AccountingEntity accountingEntity = AccountingEntity.get(params.id);
accountingEntity.setLifecycleStatusToArchived();
accountingEntity.save(flush:true);
方法 setLivecylceStatusToArchived 看起来像:
void setLifecycleStatusToArchived() {
this.lifecycleStatus = AccountingEntity.LIFECYCLE_ARCHIVED; //predefined static variable
this.considerForRankingJob = false;
this.dateArchived = new Date();
}
问题是,实体没有更新。当我提前使用 accountingEntity.validate() 时没有验证错误。
但是,此代码有效:
AccountingEntity accountingEntity = AccountingEntity.get(params.id);
accountingEntity.setDateArchived(new Date());
accountingEntity.setConsiderForRankingJob(false);
accountingEntity.setLifecycleStatus(AccountingEntity.LIFECYCLE_ARCHIVED);
accountingEntity.save(flush:true);
从 Grails 3.2.9 更新到 3.3.0.RC1 (Gorm 6.1.5) 后代码不再工作,除非我按照指南中的所有步骤 ( http://docs.grails.org/3.3.x/ guide/upgrading.html),其余代码工作正常(还有数据库访问等)
有人有想法吗?问题可能是什么?
提前致谢并致以最诚挚的问候!