fc2ブログ
ホーム   »  JPA
Tag | JPA

JPA 2.0 Entity クラスの自動生成 (Eclipse 3.7)

Eclipse 3.7 で JPA (Java Persistence API) の Entity クラスを自動生成する方法について。

JPA における Entity クラスとはデータベースへのデータの出し入れを簡単に行うためのオブジェクトを定義するためのもの。Entity クラスがテーブルのスキーマ定義で、そのインスタンスが 1 レコードと考えるとイメージしやすいかもしれない (実際には結合などで生成されることもあるから必ずしもテーブルと 1 対 1 ではないが)。

IDE Eclipse 3.7 (Indigo)
Plugins Dali Java Persistence Tools - Eclipse Link JPA Suppor 3.0, JPA Diagram Editor 1.0, JPA Support 3.0
Eclipse Java EE Developer Tools 3.3
Database MySQL 5.5.14
続きを読む

JPA/ORM フレームワーク比較

今更ですが ORM (Object-Relational Mapping) とその Java 標準である JPA (Java Persistence API) について幾つか調べてみたまとめ。

フレームワーク ライセンス JPA 備考
Oracle TopLink Oracle License 2.0 Oracle 製品。TopLink Essentials (TopLink のオープンソース版) は EclipseLink に置き換えられています。
EclipseLink Eclipse Public License,
Eclipse Distribution License
2.0 JPA 以外にも JAXB や DBWS などが含まれていて多機能。TopLink をフォークして開発が進められている。
Hibernate LGPL 2.0 iBATIS と並ぶ古くからの ORM。軽量が売りだったはずが最近ではめっきり重量級になってしまった感。
Apache OpenJPA Apache License 2.0 2.0 JPA のみで使う分にはシンプルで機能も一通り充足していておすすめ。
MyBATIS Apache License 2.0 × SQL をゴリゴリ書く開発向け。
iBATIS Apache License 2.0 × 現在開発は中止され MyBatis に移行している。

JPA か否か

JPA は新規開発でテーブル定義も自由に行え、パフォーマンスや将来的なメンテナンス要件より設計上の整合性を優先できる場合に向いている。Ruby on Rails の ActiveRecord なんぞを知っているならこちらの感覚が近い。

JPA を素直に使っている分には基盤の JPA フレームワークの差し替えが容易なのも魅力的。

逆に JPA は SQL をゴリゴリ書かなければならないような開発には向いていない。つまり、既存システムのテーブルを使わなければならない場合や、パフォーマンスのための非正規化が行われたり DB 固有の SQL を発行しなければならないようなケース。多くの SI 系業務システムはこちらではないかな。

Eclipse で使うには

Software Install から Java EE と Dali をインストールする。デフォルトで EclipseLink が使用されるが後での差し替えは容易なのでそのまま開発してもよい。

Profile
Takami Torao
Takami Torao
C/C++ 使いだった 1996年、運命の Java と出会い現在に至る。のらアーキテクト。
Yah, this is image so I don't wanna eat spam, sorry!
Search

Google
MOYO Laboratory
Web

カテゴリー
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
ブロとも申請フォーム
RSSフィード
リンク