【发布时间】:2011-09-30 07:05:40
【问题描述】:
Hibernate 使用代理来启用集合的延迟加载,甚至是单端关联。根据 Hibernate 的 (3.6.5) 参考文档(第 21.1.3 节,单端关联代理),如果这样的代理包含“任何最终方法”,则 Hibernate 无法构建这样的代理”。
我的问题是,此限制是否仅适用于持久字段的 getter/setter 或真的适用于实体类中的任何方法?那么,是否有这样的方法:
public final String toString() {
return this.getClass().getSimpleName() + id;
}
真的阻止为该实体创建(CGLIB 或 Javassist)代理吗? 是否使用基于字段的访问或属性访问是否重要?既然 CGLIB 被 Javassist 取代了,这是否提供了更多这方面的功能?
我喜欢在我的实体层次结构中使用继承,因此需要定义一些最终方法, 例如,在基类中防止子类覆盖这些方法。
提前致谢!
【问题讨论】:
标签: hibernate