Grails 在域对象上设置元类属性

Grails 在域对象上设置元类属性,grails,gorm,Grails,Gorm,有没有理由不在域对象上使用元类?如 domainObjectInstance.metaClass.dynamicTransientGreeting=“您好” 这会影响hibernate吗?它根本不会影响hibernate,因为hibernate看不到它。GORM只将“真实”属性映射到Hibernate属性 这就是为什么id和version列以及从生成的集合有许多声明的原因(例如,由static hasMany=[用户:用户]生成的users集合)使用AST添加到实际字节码中。如果只将它们添加到元

有没有理由不在域对象上使用元类?如

domainObjectInstance.metaClass.dynamicTransientGreeting=“您好”


这会影响hibernate吗?

它根本不会影响hibernate,因为hibernate看不到它。GORM只将“真实”属性映射到Hibernate属性


这就是为什么
id
version
列以及从
生成的集合有许多
声明的原因(例如,由
static hasMany=[用户:用户]生成的
users
集合)
使用AST添加到实际字节码中。如果只将它们添加到元类中,它们将不会被看到,也不会持久。

感谢Burt一如既往地详细解释!