Hibernate如何创建最终DTO类的代理对象?

Ale*_*lex 1 java hibernate

如果我将DTO类作为最终版,Hibernate如何创建代理?

码.

@Entity
public final class MyEntity {
    ...
}
Run Code Online (Sandbox Code Playgroud)

我听说Hibernate使用Reflection API来创建对象的动态代理,并从主类继承它.

Bet*_*ide 5

它无法创建代理.来自文档:

Hibernate的一个核心功能,代理(延迟加载)依赖于持久化类是非final的,或者是声明所有公共方法的接口的实现.你可以坚持不使用Hibernate实现接口的最终类​​; 但是,您不能使用代理进行延迟关联提取,这最终会限制性能调整的选项.要保留未实现"完整"接口的最终类​​,必须禁用代理生成.