使用JPA / Hibernate时,使用@Entity
注释的类可以从数据库中或多或少透明地存储,查询,检索等。
但是,当您使用通过JPA检索的实例进行操作时,实际上是在启动应用程序时使用JPA提供程序(在我的示例中为Hibernate)创建的类的代理对象。
出于纯粹的好奇心,是否可以检查/反编译这个生成的代理类?一种选择是从Hibernate本身查找和修补源代码 - 但是,我宁愿运行应用程序并直接转储和/或定位生成的类。
Hibernate使用javassist作为字节码提供程序。
答案 0 :(得分:2)
Hibernate也可以在编译时进行字节码编织。由于这是在编译时创建的,因此编译和检查编织类更容易。
https://docs.jboss.org/hibernate/orm/5.0/topical/html/bytecode/BytecodeEnhancement.html