EJB入門記
Chapter 9 その2です。今日は次の4つのアノテーションを見てみます。 UniqueConstraint Column JoinColumn JoinColumns 9.1.4 UniqueConstraint Annotation このアノテーションは生成されるDDLにUnique制約をつけたいときに使うようです。ElementTypeが空な…
だんだん早く帰れるようになったし、引越しも終わったしでそろそろ気合を入れてかないとなぁ。いつの間にか正月でもないし。そういえば初詣行ってない。 今度の日曜で結構大きめのタスクが終わる(はず)のでそれが終わったらできるだけJava Persistence API…
あけましておめでとうございます。残念ながらというか予想通りというか、去年の間にEJB 3.0 Public Draftの入門記終わりませんでしたよ... Proposed Final Draftが出ちゃいましたので、Chapter 8からはProposed Final Draft版に入門していこうと思います。で…
GlassFishの最新ビルド(glassfish-installer-b33-nightly-31_dec_2005.jar)をインストールしてGlassFishにくっついているjavaee.jarやtoplink-essentials.jarを見てみたんですが、TopLinkもProposed Final Draftにはまだ対応してないみたいです(EntityMan…
NetBeanとJBossを使ってEJB 3.0のクラスを動かしてみよう、ということでさっそっくNetBeansをダウンロードしてみました。あれ、でもNetBeansでエンタープライズアプリケーションのプロジェクトをつくってもJava EE 5.0のバージョンが出てこない。それに、ア…
7.2 Bootstrapping in J2SE EnvironmentsJ2SEの環境では、アプリケーションがPersistence.createEntityManagerFactoryを実行してEntityManagerFactoryを生成するそうです。Persistenceクラスは次のことをします。 コンテキストクラスパス上にあるすべての永…
7章突入。Chapter 7 Container and Provider Contracts for Deployment and Bootstrappingこの章ではデプロイメントとブートストラッピングに関してJ2EEコンテナと永続プロバイダの要件が定義されるそうです。 PersistenceProviderというクラスが重要みたい…
むー、なかなかすすまないです。今日はpersistence.xmlの説明。6.2.1 persistence.xml filepersistence.xmlはparファイルのMETA-INFディレクトリにおかれるファイルです。persistence.xmlでは次のものが定義されます。 EntityManagerとEntityManagerFactory…
節ごとにきれいに進めようと思うとなかなか手がつけられないからやめーた。無理なくちょっとづつ進めます。Chapter6 Entity PackagingChapter 6は永続ユニットのパッケージングについての説明です。J2EEでは永続ユニットはpar(persistence archive file)フ…
前回は拡張永続コンテキストを使ってアプリケーショントランザクションを実験してみましたが、今回はトランザクションスコープの永続コンテキストとdetachedなエンティティの組み合わせでアプリケーショントランザクションを実験してみようと思います。 シナ…
さっき、http://d.hatena.ne.jp/koichik/20040626#1088260520を読んでいて、EJBのゴールとして筆頭に掲げられているのが分散オブジェクトだったと知りました。そうだったのかー。 そういえばEJB 3.0のゴールについて意識していなかったということで調べてみ…
今日のお題は拡張永続コンテキストを使ってアプリケーショントランザクションを体験してみよう、です。 まず、アプリケーショントランザクションに拡張永続コンテキストを使用することについてHibernate In ActionやHibernate Entity Managerのドキュメント…
ひさびさの入門記。ワンダと巨像とか麻雀とかに興じていたら書かないことになれちゃいました、やばいやばい。今回は永続コンテキスト(persistence context)についてです。5.4 Persistence Contexts永続コンテキストの定義は何回も出てきているのですが、超訳…
今回はEntityManagerの取得方法についてです。いままで@PersistenceContextで取得していましたが、ほかにも方法があるようです。5.2 Obtaining an EntityManagerエンティティマネジャーをコンテナ管理とするかアプリケーション管理とするかで取得方法が異な…
入門記の一環として?Java Oneの「The New EJB 3.0 Java Persistence API」のセッションを聞いてきました。セッションがおこなわれる階に行ったら結構人が並んでいたので、人気あるんだなーとおもったのですがよく見るとそれは全部隣のひがさんのセッション…
トランザクション制御についてです。5.3 Controlling TransactionsEntityManagerの操作を含むトランザクションには2種類あります。 JTAトランザクション リソースローカルトランザクション リソースローカルトランザクションの制御にはEntityTranaction API…
勉強会で出た宿題ですが、やってみました。 まず、エンティティに指定必須のIdアノテーションですが、これをアクセスタイプと矛盾したところにおいた場合、Idアノテーションが指定されてないとみなされてデプロイ時に怒られました。(正確に言えば、メタデー…
今日からChapter 5 突入です。ここはEntityManagerがお題です。Chapter 5 EntityManagerエンティティマネジャーのライフサイクルはJ2EEコンテナもしくはアプリケーションによって管理されるそうです。アプリケーションはJ2EE、J2SEどちらの環境においてもエ…
またまた、日をおいての更新になってしまいました。今回はEJB QLのWHERE節についてです。4.5 WHERE ClauseWHERE節には条件式がつづきます。条件式にどんなものががあるかは次節で説明されるようです。 以上。 できることなら今日中にChapter 4全部やってしま…
WHERE節やHAVING節で使われる条件式についてです。 EJB QLを使って動かしてみますが、エンティティの定義はChapter 4 その4で作成したものを使います。4.6 Conditional Expressionsいきなし注意書きですが、直列化された形式もしくはlobsとしてマップされた…
EJB QL の GROUP BY と HAVINGについてです。 EJB QLを使って動かしてみますが、エンティティの定義はChapter 4 その4で作成したものを使います。4.7 GROUP BY, HAVINGSQLと同じようなものですね。こんな感じです。 select count(l) from LineItem l group b…
EJB QL の SELECT節についてです。 EJB QLを使って動かしてみますが、エンティティの定義はChapter 4 その4で作成したものを使います。4.8 SELECT Clauseカンマ区切りで複数の値を返せます。ただ、次のようにコレクションをあらわす値は返せないようです。 s…
EJB QL の ORDER BY節についてです。 EJB QLを使って動かしてみますが、エンティティの定義はChapter 4 その4で作成したものを使います。4.9 ORDER BY ClauseORDER BYにはステートフィールドをあらわすパス式だけが指定できるそうです。EJB QLでORDER BY節が…
EJB QLの戻り値の型とかバルク更新/削除とかNull値とかEJB QLの制限とかについてです。4.10 Return Value TypesクエリのSELECT節の結果で返される型には次のようなものがあります。いままでのまとめみたいなものですね。 エンティティの抽象スキーマ型 ステ…
EJB QLのFROM節についてです。 結構聞きなれない言葉というか概念がいくつか出てきます。今までもそうですけど説明が後ろの方にあるくせに説明の前でいきなしその言葉使うんですよね。ちょっと腹立つ。 あと新しい言葉って訳せないんですよね...4.4 The FROM…
最近更新滞ってるなぁ。Chapter 3以前の内容でまだ気になることが若干あるのですがChapter 4に進んじゃいます。いずれ気が向いたら試してみたいと思います。 Chapter 4 Query LanguageChapter 4はQuery Languageというタイトルで、EJB QLの説明です。Java Pe…
EJB QLのステートメントについてです。4.2 EJB QL Statement TypesEJB QLステートメントには3種類あります。 select update delete EJB QLステートメントは動的に組み立てることもアノテーションやXMLに静的に定義することも可能です。 すべてのステートメン…
抽象スキーマ型についてです。4.3 Abstract Schema Types and Query DomainsEJB QLは型付け言語でEJB QLのすべての式が型をもっているらしいです。式の型は 式の構成 識別用変数定義の抽象スキーマ型 永続フィールドやリレーションシップが評価する型 リテラ…
前回に引き続き、エンティティリスナとコールバックメソッドがお題です。 今回は実際にエンティティリスナを使って、コールバックメソッドがいつ呼び出されるか確認してみます。 エンティティEmployeeのエンティティリスナです。 public class EmployeeEntit…
今回はQuery APIについてです。すでにちょこっと使っていますが。3.5 Query APIQuery APIは静的クエリ(たとえば名前つきクエリ)や動的クエリの両方に使われるそうです。Query APIは名前つきパラメータとのバインディングやページングもサポートするらしいで…