EJB入門記
(EJB QLではなく)SQLを使ったクエリについてです。3.5.5 SQL QueriesSQLの結果は複数エンティティ、スカラー値、またはその両方の組み合わせで構成されるそうです。クエリから返される結果には異なった型のエンティティを含めることができるらしいです。スカ…
エンティティリスナとコールバックメソッドについてです。3.4 Entity Listeners and Callback Methodsエンティティのライフサイクルのイベントに関する通知をうけとるコールバックメソッドを使うことができます。これはエンティティにアノテーションで指定で…
今回は永続コンテキストについてです。3.3 Persistence Context永続コンテキストには2種類あります。単一のトランザクション完了時に終了するものと複数のトランザクションにまたがるものです。複数のトランザクションにまたがる永続コンテキストは拡張永続…
今回はドキュメントからちょっと離れて別のことをしてみたいと思います。 Chapter 2 で継承関係を永続化できることがわかったのですが、Compositeパターンであらわされた構造を永続化したらどんな感じなのかなーと気になり始めたのでこれを試してみます。デ…
Embeddable EJB 3.0 ALPHA 3がリリースされたようなのでこっちを使うことにします。そろそろALPHA 2を使うおうかなぁと思っていたんですがそのまえにALPHA 3がリリースされてしまいました。 ダウンロードはここからhttp://www.jboss.com/products/list/downl…
Chapter3 その4に続いて3.2.3 Synchronization to the Databaseのあたりをもう一度やってみます。 リンク先の日記を書いたときはFlushModeアノテーションというものがあるというのは意識していていたのですが、EntityManagerにsetFlushModeメソッドというも…
今回は管理されたインスタンスとトランザクションのロールバックについて。コードのサンプルはもうちょっと進んでから書いてみたいと思います。3.2.5 Managed InstancesEntityManagerのcontains()メソッドはエンティティのインスタンスが現在の永続コンテキ…
今日はdetachedなエンティティとmergeがお題。 3.2.4 Detached Entitiespersistence contextが終了すると、contextに関連づいているすべての管理された(managed)エンティティのインスタンスは切り離され(detached)るんだそうです。persistence contextは…
エンティティのDBへの同期について。 3.2.3 Synchronization to the Database永続エンティティのステートはトランザクションのコミット時に同期化されるそうです。この同期化とはエンティティやエンティティのリレーションシップへの更新がDBに書き込まれる…
今回扱うのはエンティティのライフサイクルの削除です。 3.2.2 RemovalあるエンティティXに適用されるremove操作のセマンティクスは次のとおりです。 Xが新しく(new)生成されたエンティティならば、remove操作は無視される。しかし、エンティティXから他のエ…
リレーションシップのとこよりライフサイクルのとこのほうが難しいかもと思い始めてきました。 3.2 Entity Instance's Life Cycleこの節ではエンティティのライフサイクルを管理するEntityManagerの操作が説明されるそうです。エンティティのライフサイクル…
今日からChapter 3です。 Chapter 3 Entity OperationChapter3ではEntityMangerインタフェースとQueryインタフェースを扱うそうです。 3.1 EntityManagerpersistence context と persistence unit という新しい概念が出てきます。ざっと見てみます。英語難し…
今回は3番目の継承マッピング戦略であるJoined Subclass Strategyについてです。2.1.10.3 Joined Subclass Strategyjoined subclass strategyでは、クラス階層のルートは単一のテーブルで表されます。それぞれのサブクラスはサブクラスのフィールドのみ(継…
前回は継承マッピング戦略、Inheritance Mapping Strategeiesでした。今日は2番目の戦略であるTable per Class Strategyです。 2.1.10.2 Table per Class Strategyこの戦略ではそれぞれのクラスが別々のテーブルにマッピングされます。クラスのすべてのプロ…
2.1.10 Inheritance Mapping Strategeies今回は継承に関するマッピング戦略です。 クラスやクラス階層をRDBのスキーマにマッピングするには3つの戦略があります。3番目は日本語にするの難しい。 single table per class hierarchy strategy ― ひとつのクラス…
id:koichikさんにInheritanceアノテーションのdiscriminationValueについてコメントをいただきました。ご指摘どおり、2.1.9.1 Abstract Entity Classesのサンプルコード内で使ったInheritanceアノテーションのdiscriminationValueがDDLに反映されないです。…
今回で2.1.8 Relationship Mapping Defaults を終わらせたいとおもいます。2.1.8.5 Unidirectional Multi-Valued Relationships単方向の複数リレーションシップについてです。 単方向の複数リレーションシップとは次のようなものです。 エンティティ A がエ…
今回は継承についてです。平日は時間とれなくてあんまり入門記すすめられないので休日にまとめてすすめています。しかし、ドキュメントを単になぞるだけが入門記じゃないはず、ということでもう少しポイントを絞って進めたいなぁと思う今日このごろです。2.1…
Chapter2ももうその9になってしましました。でもその割りにはすすんでいないような。finalが出るまでにPublic Draftの最後までいきたいなぁ。2.1.8.4 Bidirectional ManyToMany Relationships今回は双方向のManyToManyなリレーションシップについてです。 例…
http://www.eclipse.org/jsr220orm/ ほんの少しだけ使ってみました。使ってみてわかったことを書いてみます(ドキュメント全然読んでないからいいかげんなことをいっているかも)。このプラグインを使うとPersistenceパースペクティブが使えるようになります…
今回からJBossのアプリケーションサーバでなくEmbeddable EJB 3.0を使ってすすめます。2.1.8.3 Unidirectional Single-Valued Relationships今日のお題は単方向の単一リレーションシップです。単方向の単一リレーションシップとは次のようなものです。 エン…
日記はたしか朝6時に日付更新なので今書くと10日の日記になるんですが、ズルして11日分書いちゃお。 今回はManyToOneとOneToManyを使った双方向のリレーションシップです。2.1.8.2 Bidirectional ManyToOne/OneToMany Relationships例をベースに進めます。Em…
今までJBoss Application Serve 4.0.3 R1 + JBoss EJB3 R1を使ってきましたが、デプロイがあまりに面倒くさいのでJBossのEmbeddable EJB3というものを使ってみたいと思います。VersionはAlphaです。Embeddable EJB3はアプリサーバ外で動作可能なんだそうです…
今日はリレーションシップについてです。このあたりはPersistence APIのなかでも肝だと思ってます。以前Hibernateで簡単なプログラムをつくろうとしてリレーションシップの定義の仕方がよくわからなくて大変でした。印象としてはルールが多いように感じてい…
今回から2.1.8 Relationship Mapping Defaultに入ります。この節は長いのでとても1回では終われないです。ということで細切れになります。2.1.8 Relationship Mapping Defaultこの節ではOneToOne、OneToMany、ManyToOne、ManyToManyアノテーションを使用する…
Java Persistence APIを使ってみよう。そろそろうごかしてみないと間違って覚えそうな気がするのでコード動かしてみます。複合プライマリキーを使ったデータアクセスを行ってみます。環境はSimplified APIの入門記のときと同じでJBOSS4.0.2R1を使います。 ま…
昨日は入門記を進めることなくうっかり寝てしまいました。久しぶりに3日連続更新ができてたのにー。 今日は Chapter2 その3です。2.1.3 Entity Instance Creation からです。2.1.3 Entity Instance Creationエンティティのインスタンスはnewで生成される。イ…
Chapter2その2です。今回は永続的なフィールドとプロパティについて。2.1.1 Persistent Field and Propertiesエンティティの永続的なステートは永続性プロバイダランタイム(なんのこっちゃ)によりJavaBeansスタイルのアクセッサー経由もしくはインスタンス…
Chapter2とりあえずその1です。いったい何分割になるんだろう。Chapter2 Entitiesエンティティは軽量な永続的ドメインオブジェクトだとあります。軽量なというのはたぶんPOJOで作れるよということだと思います。 プログラマが作るべきものは主にエンティティ…
今日からJava Persistence API版の入門記やろーっと。たぶん超スローペースになるけど。 Java Persistence APIのPublic Draftはこのあたりにあります。まず、目次 Chapter1 Introduction Chapter2 Entities Chapter3 Entity Operations Chapter4 Query Langu…