有什么理由不要在域对象上使用metaClass?如
domainObjectInstance.metaClass.dynamicTransientGreeting =“你好”
这会彻底休眠吗?
最佳答案
它根本不会与Hibernate混淆,因为它不会被Hibernate看到。 GORM仅将“实际”属性映射到Hibernate属性。
这就是为什么id
和version
列以及从hasMany
声明生成的集合(例如,由users
生成的static hasMany = [users: User]
集合使用AST添加到实际字节码中的原因。如果仅将它们添加到MetaClass中,则它们将不会被看到并且不会不能持久。