【问题标题】:Hibernate custom proxy generator - Stop equals() from initializing a lazy proxyHibernate 自定义代理生成器 - 停止 equals() 初始化惰性代理
【发布时间】:2011-03-07 21:41:52
【问题描述】:

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

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

请不要开始讨论 equals 在 Hibernate 中应该如何表现,这已经很远了,关于这个话题有不同的意见,我已经知道了,这不是问题的一部分:)。支持>

【问题讨论】:

    标签: java hibernate proxy javassist


    【解决方案1】:

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

    【讨论】:

    • 您能否详细说明您究竟做了什么来解决这个问题,或者指向任何类型的操作手册?谢谢。
    • 我在调用函数中添加了一些分支,以便在等号函数(以及其他一些不相关的函数)的情况下做一些特殊的事情。哦,我的类路径上有一个 BasicLazyInitializer 类的修改副本。风格可能很糟糕,但结果是值得的:)。
    猜你喜欢
    • 2014-11-27
    • 2011-07-12
    • 1970-01-01
    • 2015-11-18
    • 2021-06-15
    • 1970-01-01
    • 2012-11-09
    • 2015-12-19
    • 2014-09-30
    相关资源
    最近更新 更多