在hibernate JPA中检查生成的代理类

时间:2018-04-03 11:26:55

标签: java hibernate jpa javassist

使用JPA / Hibernate时,使用@Entity注释的类可以从数据库中或多或少透明地存储,查询,检索等。

但是,当您使用通过JPA检索的实例进行操作时,实际上是在启动应用程序时使用JPA提供程序(在我的示例中为Hibernate)创建的类的代理对象。

出于纯粹的好奇心,是否可以检查/反编译这个生成的代理类?一种选择是从Hibernate本身查找和修补源代码 - 但是,我宁愿运行应用程序并直接转储和/或定位生成的类。

Hibernate使用javassist作为字节码提供程序。

1 个答案:

答案 0 :(得分:2)

Hibernate也可以在编译时进行字节码编织。由于这是在编译时创建的,因此编译和检查编织类更容易。

https://docs.jboss.org/hibernate/orm/5.0/topical/html/bytecode/BytecodeEnhancement.html