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を作っていこうと思います。