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