在域对象上设置metaClass属性

时间:2011-10-08 02:17:28

标签: grails gorm

任何不在域对象上使用metaClass的原因?如在

domainObjectInstance.metaClass.dynamicTransientGreeting =“Hello”

这会混淆hibernate吗?

1 个答案:

答案 0 :(得分:2)

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

这就是为什么idversion列以及从hasMany声明生成的集合(例如users生成的static hasMany = [users: User]集合被添加到使用AST的实际字节码。如果它们只被添加到MetaClass中,它们就不会被看到而且不会持久。