Hibernate自定义代理生成器 - 从初始化惰性代理中停止equals()

时间:2011-03-07 21:41:53

标签: java hibernate proxy javassist

我有实体类,这些实体类实现了自己的equals()函数,它只是比较类的ID。遗憾的是,在Hibernate代理上调用equals()会初始化它,在我的情况下这完全没用。

我使用javassist作为代理提供程序。有没有办法修改代理生成代码,以便在等于调用期间不加载实体,而是为我做其他事情?我可以在Hibernate中插入自定义代理提供程序吗?

请不要开始讨论equals在Hibernate中应该如何表现,这个到目前为止,对于这个主题有不同的看法,我已经知道了,并且不是问题的一部分:)。

1 个答案:

答案 0 :(得分:1)

如果你在hibernate.jar中覆盖类,并提供你自己的BasicLazyInitializer实现,它就可以工作。