几年来我一直在使用 c3p0 和休眠。在查看异常堆栈跟踪时,我会看到com.mchange.v2.c3p0.impl.NewProxyPreparedStatement
堆栈中的类。我去寻找这些类的源代码并遇到了好奇的com.mchange.v2.c3p0.codegen
包。
特别是,看起来JdbcProxyGenerator是 Java 中的元编程。我很难理解代码生成机制以及使用它的原因。构建的 jar 包含这些生成的类,所以我假设这些类是在构建过程中构建的,可能是两阶段构建的一部分。codegen 包似乎不在生成的 jar 中。
出于我自己的好奇心,任何见解都会受到赞赏。谢谢!