gpt4 book ai didi

java - hibernate 代理生成

转载 作者:搜寻专家 更新时间:2023-10-31 20:10:39 25 4
gpt4 key购买 nike

我浏览了 hibernate 的文档并找到了这些行

The no-argument constructor is a requirement for all persistent classes; Hibernate has to create objects for you, using Java Reflection. The constructor can be private, however package or public visibility is required for runtime proxy generation and efficient data retrieval without bytecode instrumentation

谁能解释一下没有字节码检测的运行时代理生成和高效数据检索

最佳答案

运行时代理意味着 Hibernate 将使用 Proxy 类包装您的类。您可以在调试器中看到,实例化对象不是您的类型,而是某个代理类型。

为此,Hibernate 需要覆盖您的类。需要无参数构造函数来调用 base() 构造函数。 Hibernate 不知道如何填充您的自定义参数。另一种想法是让所有属性和方法成为虚拟,这样它们也可以被覆盖。

把它想象成您拥有第三方库(一个包含您的持久类),现在您需要向它们添加一些通用功能,而无需阅读文档并逐个类、逐个属性地进行分析。

关于java - hibernate 代理生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30554057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com