failed to lazily initialize a collection of role

Entity操作でこんなエラーになったよ。 failed to lazily initialize a collection of role: jp.*****, no session or session was closed ここに書いてたよ。

Read More

マスタリングJavaEE5勉強禄 JPAとリレーションシップ - カスケード戦略

エンティティへの何らかの操作のタイミングで関連するエンティティにも自動的に反映する機能。 列挙型操作 CascadeType.ALL全て CascadeType.PERSISTpersist CascadeType.REMOVEremove CascadeType.MERGEmerge CascadeType.REFRESHrefresh @OneToMany(cascade = CascadeType.ALL)

Read More

マスタリングJavaEE5勉強禄 JPAとリレーションシップ - フェッチ戦略

イーガーフェッチEAGER関連するEntityの値を全て読み込む。メモリリソース大量消費。 レイジーフェッチLAZY関連するEntityの値を一度に全ては読み込まない。層が違う場合後から取得できない。 @OneToMany(fetch = FetchType.LAZY)

Read More

マスタリングJavaEE5勉強禄 AOPとインターセプタ

AOPについては概念的な説明だったよ。 EJB3でインターセプタができるんだよ!知らなかったよ! @AroundInvoke をインターセプトするクラスに書いて、 @Interceptors(value={jp.co.***.***.class}) を呼び出したいセッションBeanクラス/メソッドに書くんだよ。 デフォルトインターセプタを使えば、@Interceptors無しでインターセプトもできるよ。 ejb-jar.xmlのassembly-descriptor要素を定義すればできるよ。 @ExcludeDefaltInterceptorsを使えば、デフォルトインターセプタを抑止することもできるよ。 ∧,,∧ (;`・ω・) AOP⌒) / o━ヽニニフ)) しー-J マスタリングJavaEE5 (CD-ROM付) (Programmer’sSELECTION)

Read More

マスタリングJavaEE5勉強禄 セッションBeanとトランザクション

EJBを使わずにJTAでトランザクションマネージャが使えるみたい。 だけど、トランザクションの処理を明示的に記述しないといけないから大変そうだよ。 EJB(CMT)だとトランザクション制御はコンテナがやってくれるらしいよ。 記述が要らないから便利だよ。 ∧,,∧ (;`・ω・) CMT⌒) / o━ヽニニフ)) しー-J

Read More