私は2、3年の間hibernateでc3p0を使用しています。例外スタックトレースを見るcom.mchange.v2.c3p0.impl.NewProxyPreparedStatement
と、スタック内などのクラスが表示されます。com.mchange.v2.c3p0.codegen
私はこれらのクラスのソースコードを探しに行き、curousパッケージ に出くわしました。
特に、JdbcProxyGeneratorはJavaでメタプログラミングしているようです。codegenのメカニズムとそれが使用される理由を理解するのに苦労しています。ビルドされたjarにはこれらの生成されたクラスが含まれているため、これらのクラスはビルド中に、おそらく2フェーズビルドの一部としてビルドされると想定しています。codegenパッケージは、生成されたjarに含まれていないようです。
私自身の好奇心のために、どんな洞察もいただければ幸いです。ありがとう!