*Entityの作成 [#xd911e1b]
エンタープライズアプリケーションでは、通常データをデータベース(DB)に保存する。~
Java EEでDBとデータのやり取りをするには、Java Persistence API(JPA)を使用する。~
JDBCを使用する方法もあるが、JPAのほうが楽である。~
JDBCを使用する方法もあるが、JDBCでは多くの処理をプログラマーが行わなければならない。~
~
JPAでは、テーブルの各行をオブジェクトに対応させるEntityを作成する。~
なお、JDKやGlassFishには標準でデータベース(JavaDB,Derby)が付属しているので、データベースのインストールは不要である。~
他のデータベース製品を使用するときのみ、インストールを行い設定する。~
~
ファイル→新規ファイルからEntityを作成する。~
プロジェクトに-ejbの名前のプロジェクトを選び、カテゴリ:持続性のファイル・タイプ:エンティティ・クラスを選択し、次へ。~
#ref(jpa1.gif)~
~
エンティティのクラス名とパッケージ名を入力する。(デフォルトパッケージは使えないようだ)~
#ref(jpa2.gif)~
~
本来DBの接続先等を設定するが、とりあえずデータ・ソースにjdbc/sampleを選び、終了。
#ref(jpa3.gif)~
~
Entityのソースコードが自動的に生成される。~
このクラスは@ではじまるアノテーションがいくつか使用されているが、次のような意味である。~
@Entity:このクラスがEntityであることを認識させるために付加する。(必須)~
@Id:主キー(行を一意に識別するキー)であることを表す。(各Entityに1つ必要)~
@GeneratedValue:一意な値を自動的に生成する。(strategy=GenerationType.AUTOは生成手法を自動選択にすることを意味)~
#ref(jpa4.gif)~
~
Entityに必要な項目のフィールドを追加する。~
@Temporal:日付型のjavaクラスがDBのDATE(日付のみ)、TIME(時刻のみ)、TIMESTAMP(日付と時刻)のどれに対応するか指定する。~
#ref(jpa5.gif)~
~
追加したフィールドのgetter/setterは必ず作成する。~
右クリック→コードを挿入(Alt+Insert)から、取得メソッドおよび設定メソッドを選ぶ。~
#ref(jpa6.gif)~
~
getter/setterを作成するフィールドにチェックを入れ生成。~
#ref(jpa7.gif)~
~
getter/setterが自動的に入力される。~
#ref(jpa8.gif)~
~
多くのデータ操作ではJPAのAPIを使用するが、@NamedQueryアノテーションを使用してSQL(通常のデータベースで操作を行う言語)のように操作を書くこともできる。~
name:名称、query:JPQL(JPAのSQLに似たクエリ言語)を記入する。~
下ではこのテーブルから全部のデータをid順で取得する式を記入している。~
#ref(jpa9.gif)~
~
ツリーから構成ファイルを開き、persistence.xmlをダブルクリックすると、DBの接続先等を修正できる。~
#ref(jpa10.gif)~
~
*コメント [#b421b6f1]
#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS