LazyLoadingを調べたときに、仕組みを少し調べてみた。 iBATISやHibernateは、LazyLoadingを実現するためにCGLIBを使っています。 http://cglib.sourceforge.net/ CGLIBは、Code Generation Libraryの略で、 読んで字のごとく、Javaコード生成ライブラリです。 (生成するといってもByteコードレベル) 概略としては、 クラスを実行時に編集して、メソッドが呼ばれる際に、 インターセプトをいれて、 そのメソッドの前後で処理を行います。 MethodInterceptorを実装したクラスと目的のクラスを、 Enhancerというプロキシを通して、コードを生成します。 まずは、MethodInterceptor実装クラスを作成する package cglib.test; import java.lang.re