EJB入門記

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter3 その12

(EJB QLではなく)SQLを使ったクエリについてです。3.5.5 SQL QueriesSQLの結果は複数エンティティ、スカラー値、またはその両方の組み合わせで構成されるそうです。クエリから返される結果には異なった型のエンティティを含めることができるらしいです。スカ…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter3 その9

エンティティリスナとコールバックメソッドについてです。3.4 Entity Listeners and Callback Methodsエンティティのライフサイクルのイベントに関する通知をうけとるコールバックメソッドを使うことができます。これはエンティティにアノテーションで指定で…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter3 その8

今回は永続コンテキストについてです。3.3 Persistence Context永続コンテキストには2種類あります。単一のトランザクション完了時に終了するものと複数のトランザクションにまたがるものです。複数のトランザクションにまたがる永続コンテキストは拡張永続…

EJB 3.0(Public Draft)入門記 Java Persistence API おまけ Composite構造の永続化

今回はドキュメントからちょっと離れて別のことをしてみたいと思います。 Chapter 2 で継承関係を永続化できることがわかったのですが、Compositeパターンであらわされた構造を永続化したらどんな感じなのかなーと気になり始めたのでこれを試してみます。デ…

EJB 3.0(Public Draft)入門記 Java Persistence API おまけ Embeddable EJB 3.0 ALPHA 3 のインストール

Embeddable EJB 3.0 ALPHA 3がリリースされたようなのでこっちを使うことにします。そろそろALPHA 2を使うおうかなぁと思っていたんですがそのまえにALPHA 3がリリースされてしまいました。 ダウンロードはここからhttp://www.jboss.com/products/list/downl…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter3 その7

Chapter3 その4に続いて3.2.3 Synchronization to the Databaseのあたりをもう一度やってみます。 リンク先の日記を書いたときはFlushModeアノテーションというものがあるというのは意識していていたのですが、EntityManagerにsetFlushModeメソッドというも…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter3 その6

今回は管理されたインスタンスとトランザクションのロールバックについて。コードのサンプルはもうちょっと進んでから書いてみたいと思います。3.2.5 Managed InstancesEntityManagerのcontains()メソッドはエンティティのインスタンスが現在の永続コンテキ…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter3 その5

今日はdetachedなエンティティとmergeがお題。 3.2.4 Detached Entitiespersistence contextが終了すると、contextに関連づいているすべての管理された(managed)エンティティのインスタンスは切り離され(detached)るんだそうです。persistence contextは…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter3 その4

エンティティのDBへの同期について。 3.2.3 Synchronization to the Database永続エンティティのステートはトランザクションのコミット時に同期化されるそうです。この同期化とはエンティティやエンティティのリレーションシップへの更新がDBに書き込まれる…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter3 その3

今回扱うのはエンティティのライフサイクルの削除です。 3.2.2 RemovalあるエンティティXに適用されるremove操作のセマンティクスは次のとおりです。 Xが新しく(new)生成されたエンティティならば、remove操作は無視される。しかし、エンティティXから他のエ…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter3 その2

リレーションシップのとこよりライフサイクルのとこのほうが難しいかもと思い始めてきました。 3.2 Entity Instance's Life Cycleこの節ではエンティティのライフサイクルを管理するEntityManagerの操作が説明されるそうです。エンティティのライフサイクル…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter3 その1

今日からChapter 3です。 Chapter 3 Entity OperationChapter3ではEntityMangerインタフェースとQueryインタフェースを扱うそうです。 3.1 EntityManagerpersistence context と persistence unit という新しい概念が出てきます。ざっと見てみます。英語難し…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その15

今回は3番目の継承マッピング戦略であるJoined Subclass Strategyについてです。2.1.10.3 Joined Subclass Strategyjoined subclass strategyでは、クラス階層のルートは単一のテーブルで表されます。それぞれのサブクラスはサブクラスのフィールドのみ(継…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その14

前回は継承マッピング戦略、Inheritance Mapping Strategeiesでした。今日は2番目の戦略であるTable per Class Strategyです。 2.1.10.2 Table per Class Strategyこの戦略ではそれぞれのクラスが別々のテーブルにマッピングされます。クラスのすべてのプロ…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その13

2.1.10 Inheritance Mapping Strategeies今回は継承に関するマッピング戦略です。 クラスやクラス階層をRDBのスキーマにマッピングするには3つの戦略があります。3番目は日本語にするの難しい。 single table per class hierarchy strategy ― ひとつのクラス…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その12

id:koichikさんにInheritanceアノテーションのdiscriminationValueについてコメントをいただきました。ご指摘どおり、2.1.9.1 Abstract Entity Classesのサンプルコード内で使ったInheritanceアノテーションのdiscriminationValueがDDLに反映されないです。…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その10

今回で2.1.8 Relationship Mapping Defaults を終わらせたいとおもいます。2.1.8.5 Unidirectional Multi-Valued Relationships単方向の複数リレーションシップについてです。 単方向の複数リレーションシップとは次のようなものです。 エンティティ A がエ…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その11

今回は継承についてです。平日は時間とれなくてあんまり入門記すすめられないので休日にまとめてすすめています。しかし、ドキュメントを単になぞるだけが入門記じゃないはず、ということでもう少しポイントを絞って進めたいなぁと思う今日このごろです。2.1…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その9

Chapter2ももうその9になってしましました。でもその割りにはすすんでいないような。finalが出るまでにPublic Draftの最後までいきたいなぁ。2.1.8.4 Bidirectional ManyToMany Relationships今回は双方向のManyToManyなリレーションシップについてです。 例…

Eclipse JSR220 projectのプラグイン

http://www.eclipse.org/jsr220orm/ ほんの少しだけ使ってみました。使ってみてわかったことを書いてみます(ドキュメント全然読んでないからいいかげんなことをいっているかも)。このプラグインを使うとPersistenceパースペクティブが使えるようになります…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その8

今回からJBossのアプリケーションサーバでなくEmbeddable EJB 3.0を使ってすすめます。2.1.8.3 Unidirectional Single-Valued Relationships今日のお題は単方向の単一リレーションシップです。単方向の単一リレーションシップとは次のようなものです。 エン…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その7

日記はたしか朝6時に日付更新なので今書くと10日の日記になるんですが、ズルして11日分書いちゃお。 今回はManyToOneとOneToManyを使った双方向のリレーションシップです。2.1.8.2 Bidirectional ManyToOne/OneToMany Relationships例をベースに進めます。Em…

EJB 3.0(Public Draft)入門記 Java Persistence API Embeddable EJB 3.0へのりかえ

今までJBoss Application Serve 4.0.3 R1 + JBoss EJB3 R1を使ってきましたが、デプロイがあまりに面倒くさいのでJBossのEmbeddable EJB3というものを使ってみたいと思います。VersionはAlphaです。Embeddable EJB3はアプリサーバ外で動作可能なんだそうです…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その5

今日はリレーションシップについてです。このあたりはPersistence APIのなかでも肝だと思ってます。以前Hibernateで簡単なプログラムをつくろうとしてリレーションシップの定義の仕方がよくわからなくて大変でした。印象としてはルールが多いように感じてい…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その6

今回から2.1.8 Relationship Mapping Defaultに入ります。この節は長いのでとても1回では終われないです。ということで細切れになります。2.1.8 Relationship Mapping Defaultこの節ではOneToOne、OneToMany、ManyToOne、ManyToManyアノテーションを使用する…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その4

Java Persistence APIを使ってみよう。そろそろうごかしてみないと間違って覚えそうな気がするのでコード動かしてみます。複合プライマリキーを使ったデータアクセスを行ってみます。環境はSimplified APIの入門記のときと同じでJBOSS4.0.2R1を使います。 ま…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その3

昨日は入門記を進めることなくうっかり寝てしまいました。久しぶりに3日連続更新ができてたのにー。 今日は Chapter2 その3です。2.1.3 Entity Instance Creation からです。2.1.3 Entity Instance Creationエンティティのインスタンスはnewで生成される。イ…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その2

Chapter2その2です。今回は永続的なフィールドとプロパティについて。2.1.1 Persistent Field and Propertiesエンティティの永続的なステートは永続性プロバイダランタイム(なんのこっちゃ)によりJavaBeansスタイルのアクセッサー経由もしくはインスタンス…

EJB 3.0(Public Draft)入門記 Java Persistence API Chapter2 その1

Chapter2とりあえずその1です。いったい何分割になるんだろう。Chapter2 Entitiesエンティティは軽量な永続的ドメインオブジェクトだとあります。軽量なというのはたぶんPOJOで作れるよということだと思います。 プログラマが作るべきものは主にエンティティ…

EJB 3.0(Public Draft)入門記 Java Persistence API 入門以前

今日からJava Persistence API版の入門記やろーっと。たぶん超スローペースになるけど。 Java Persistence APIのPublic Draftはこのあたりにあります。まず、目次 Chapter1 Introduction Chapter2 Entities Chapter3 Entity Operations Chapter4 Query Langu…