【问题标题】:Setting metaClass property on domain object在域对象上设置 metaClass 属性
【发布时间】:2011-10-08 12:08:43
【问题描述】:

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

domainObjectInstance.metaClass.dynamicTransientGreeting = "你好"

这会和hibernate搞混吗?

【问题讨论】:

    标签: grails grails-orm


    【解决方案1】:

    它根本不会干扰 Hibernate,因为它不会被 Hibernate 看到。 GORM 仅将“真实”属性映射到 Hibernate 属性。

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

    【讨论】:

    • 感谢 Burt 一如既往的详细解释!
    猜你喜欢
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多