Hibernate EntityManager OneToOneで双方向関連にするとLAZY LOADできない?

なんだかベータ版のライブラリに対して細かいところばかり見ても仕方ない気がしてきた・・・やっぱり、正式版が出るのを待つべきなのかな?
・・・さて、今回も@OneToOneで詰まってしまいました。複合主キーを使った@OneToOneの場合、fetch = FetchType.LAZYを定義していても遅延ロードしてくれません。永続化クラスのインスタンスを呼び出したときに、そのクラス内で@OneToOne定義をしているクラスのインスタンスに対するSELECT文も発行されてしまいます。複合主キーによる構成じゃない場合も試してみましたが、単一キーで外部キーによる1対1の定義を行っている場合でも、双方向で@OneToOneの定義を行っている場合、外部キーカラムを持たない方(mappedByで定義する方)のLAZYロードは有効になりませんでした。
ベータ版だからなーということで終わりにしようと思っていたのですが、Java Persistence APIのLAZYロードの記述に、ちょっと気になる表現が・・・

The LAZY strategy is a hint to the persistence provider runtime.

そして、@ManyToOneのLAZYロードに対する説明の中には、こんな記述が・・・

The LAZY strategy is a hint to the persistence provider runtime that the associated
entity should be fetched lazily when it is first accessed. The implementation is permitted to eagerly fetch associations for which the LAZY strategy hint has been specified.

fetch = FetchType.LAZYの定義はあくまでJPA実装に対する「hint」であって、LAZYロードが行われることを保証するものではないってこと?・・・
更に、Hibernate AnnotationsのJIRAにこのような内容を発見・・・

Bidirectional true @OneToOne
Currently we do not support this one because it needs the support fo the foreign id generator and thus a second pass object

どこが「true」でないのか良くわかってないのですが・・・もしかして、双方向のときにLAZYロードが効かないことと関連してたりするのでしょうか? もしそうだったら、正式版が出るのを待っても解決しなかったりして・・・
元々、Hibernate EntityManagerの機能を見て想定していたのは、テーブル間のあらゆる関連を永続化クラスの関連定義にマッピングし、そして全てをLAZYロードで定義することでした。そうすれば、あらゆるJOINの定義が永続化クラスに存在することになります。更に全ての関連がLAZYであれば、デフォルトでそれらの関連定義が呼び出されることはなく、必要なときに必要な関連だけを、定義したフィールドをgetterメソッドで呼び出したり、あるいはEJB-QLのFETCH JOINを利用することで呼び出せるのではないか・・・と思ってました。
うーん・・・ちょっと甘かったかな? なかなか理想通りにはいかないか・・・
今回のプロジェクトのテーブルは結構1対1が多いので、それら全てを永続化クラスに定義したら、ひとつのテーブルの内容を呼び出すときに色んなテーブルが同時に呼び出される状況に陥ってしまいそう・・・そうなると、1対1の関連は汎用的な永続化クラスには定義出来ないことになってしまいます・・・うーん・・・
単一キーの外部キーで1対1の定義を行ってる場合、双方向でなければLAZYロードは有効でした。でも今回のプロジェクトは複合主キーで結合してるので、この手も使えませんでした(ここら辺は開発途上の一時的な問題かもしれません)。
プロジェクト共通で使用する永続化クラスには関連を定義せずに、ロジック毎に永続化クラスを継承したクラスを作成し、必要な関連定義だけをそこに追加すれば、あるいは上手く使うことが出来るだろうか?・・・でも、永続化クラスには独自の継承戦略があるので、簡単に関連追加の為だけに継承するのも難しい気がするし・・・
結局、ライブラリがベータ版ということだけではなく、まだまだ自分自身の理解度も足りないようです。もうちょっと細かいレベルまでの知識が無いと、元々思い描いていた通りの利用をすることは難しい気がします。
とりあえず、近々のプロジェクトはS2Daoを利用しようかなと思ってます。最近になってようやく触り始めたのですが、SQL文の自動作成機能・Daoの自動定義機能はとても便利ですね。Hibernateとはかなりポリシーが違うみたいですが、その分初めての人にはわかり易いツールではないかという印象を持ちました。関連の定義はあまり強力ではないみたいですが、まぁHibernate EntityManagerも現時点では完璧じゃないことだし、あまりそこに拘っても仕方ないか・・・