Grails / GORM 中定义的注入域 class 方法(如 isDirty、save 等)在哪里?

Where are injected domain class methods like isDirty, save, etc defined in Grails / GORM?

我遇到一个问题,isDirty 无法识别对象已更改,即使我可以通过调试器非常清楚地看到它已经更改。我想看一下源代码,但我似乎无法找到源代码,而且调试器不会介入其中(我假设是因为它是通过某种 AST 魔法处理的)。

我检查了 git-core,但 "find . -type f | xargs grep -il isDirty" 没有结果。

我在哪里可以找到这个代码?

A​​STs 连接来自 GormInstanceApi(和 GormStaticApiGormValidationApi 等)的方法,并且各个 GORM 实现可以子类化这些方法(目前只有 Hibernate 实现可以)。

例如,Hibernate 3 实现是 here and the Hibernate 4 implementation is in class of the same name in the grails-datastore-gorm-hibernate4 project (most of the Hibernate code is in the grails-datastore-gorm-hibernate-core 项目,但由于接口更改,一些在两个顶级项目中。