Hatena::ブログ(Diary)

ひたすらプログラミング日記 Twitter

2009-10-25

NetBeans6.8 BetaでJPA2.0を試してみる。 - その1

NetBeans6.8のBetaがリリースされました。

JavaEE6への対応が着々と進んでいるようですが、ここらで1つJPA2.0を実際に試してみようと思います。

ちなみにJPA2.0は「JSR317」として「Java Persistence2.0」という名前で提案されています。
今後はJPAとは言わなくなるんでしょうか??JP2とか??

とりあえずNetBeansのサイトから6.8のBetaを落としてきてインストールし、起動!ふむ、さすがNetBeansです、翻訳度がすばらすぃ。その後、バンドルされているJavaDB(Derby)に最初からあるsampleとの接続を「サービス」→「データベース」から行います。

いよいよプロジェクトの作成。適当にプロジェクトを作って「メニュー」→「新規」→「データベースからのエンティティクラス」を選択。

データベース接続先をJavaDBのsampleに指定。とりあえず全てのテーブルをエンティティクラスの対象に指定します。次の画面にて「持続性ユニットを作成」をクリック。すると「持続性ライブラリ」には「EclipseLink(JPA2.0)」とデフォルトで指定されています。とりあえずそのまま作成を終了します。

作成されたPersistence.xmlの内容は1.0のころと比べて大差はないようです(というか同じっぽい)
おそらくいろいろ指定できる項目とか増えたんじゃなかろうかと思いますが、今回はその辺は無視しときます。

さて、JPA2.0で個人的に一番注目してるのがタイプセーフなCriteria Queryです。こいつを実現するためには各エンティティに対するMetamodelクラスというのを作成しなければいけません。しかし1つ1つクラスを作るのはめんどくさい事この上ないのでNetBeansで自動生成!・・・・・・と思ってメニューをいろいろ探すもそれらしき項目がありません・・・。うーんまだBetaだからでしょうか、しかしスケジュールを見るとコードフリーズは11月15日のようで、時間はあまりありません。。。6.8での実装機能の一覧にはJSF2.0の項目はいろいろありますがJPAに関しては「support for JPA 2.0」と書いてあるだけで、Metamodelの自動生成とかは書いてありません。Metamodelに関してはIDEのサポートが必須だと思うのですが、どうなるんでしょうかねぇ。

まぁ、IDEのサポートがなければ絶対使えないということもないので次回のエントリーでは自力でMetamodelを作っていこうと思います。

shinshin 2009/10/26 15:57 MetaModel自動生成ないときついですよねぇ。JSFもjsfcの認識機能があるといいのですがそういうのはないようですし、JSFにしてもあんまり強力なサポートはないようです。

ただ、標準APIを組み合わせたプロジェクトや各種ファイルの新規作成系の便利さはダントツでしょう。

hayasshhayassh 2009/10/26 23:42 おぉ、shinさんどうもです。

>JSFにしてもあんまり強力なサポートはないようです。
なるほど、そうなんですねぇ。自分はJSFはまだWebのプロジェクトを作成した程度しかさわっておらず、JPAを一通り試してみたから使ってみようかと思ってます。

>標準APIを組み合わせたプロジェクトや各種ファイルの新規作成系の便利さはダントツでしょう。
そうですね、「試すまで」の敷居の低さが自分の中でのNetBeansの大きな魅力の1つです。
しかし、MetaModelやJSFのサポートに関してもそうですがNetBeansにはそのあたりにどうしても期待してしまいますねぇ。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証