Eclipse+JSF+JPAで作るアプリ(8)―ライフサイクルとCascadeType

今回はほとんどの内容が(6)と(7)と同じか、そのおさらいです。
先にトピックの解説を行い、後半に参考までにコード全体を載せます。

目新しい点は、

  • CascadeTypeとオブジェクトのライフサイクルのおさらい
  • JPQLでの、ネストしたオブジェクトの属性値の指定

です。

次回からは、いよいよJSF編です。
ここまでは下準備といったところです。

続きを読む

Eclipse+JSF+JPAで作るアプリ(7)―テストケースの実行

今回は前回作ったUserManagerのテストケースの作成です。

目的は、

  • すぐに動くテストケースを実行できるようにする
  • テストケースの実行時にテーブルを作成してしまう

です。

テーブルはそのままでは日本語が使えないためSQL Server Management Studio(SSMS)のスクリプト生成機能を使って再生成します。

続きを読む

Eclipse+JSF+JPAで作るアプリ(5)―JPAのエンティティ

前回までに、Glassfishの設定、DBの設定、web.xml、persistence.xmlと設定ばかりでしたが、今回から数回に分けてJPAの実装を行います。

さて、早速ですが仕様を変更しました。
『本』をやめて、『映画』にしました。サムネイルやレィティングなどのGUIの要素を追加しやすいからです。

通常の業務系Webアプリケーションでは、ログインする仕組みがあるでしょうから、ユーザから作り出します。しかし、

  1. ユーザのエンティティから作成しようとすると、
  2. ユーザは、映画の貸出履歴の参照を持つため、そのエンティティも作成する必要があります。貸出履歴は、映画とユーザを参照を持つので、映画も必要です。
  3. 結局、映画のエンティティも作ります。

JPAについては、詳しくは説明せず、少し駆け足で記述していきます。
詳細は、寺田佳央さんのはじめての Java Persistence API | 寺田 佳央 - Yoshio Terada がわかりやすいでしょう。

今回の範囲では、

がメインです。

続きを読む

Eclipse+JSF+JPAで作るアプリ(4)―JPA persistence.xmlとEntity

今回からJPAサイドです。
JPAを設定するpersistence.xmlを記述します。
とっかかりやすいよう、persistence.xmlJDBCドライバを直接記述する方法をとります。
JPAプロバイダも、toplinkとeclipselinkが使えますが、ログファイルが簡単に出せるeclipselinkを使用します。

GlassfishJDBCリソース、JDBCコネクションプールは使用しません。
これらについては別途設定する方法を書いたセクションに書こうと思います。

今回の範囲は、以下の通りです。

  • persistence.xmlの記述
  • パッケージングと命名規則
  • アプリケーションの全体像
続きを読む

Eclipse+JSF+JPAで作るアプリ(3)―Hello World(2)

後半です。

  • Dynamic Web Projectの作成
  • JPAJSF facetの設定
  • index.xhtmlの作成
  • web.xmlの編集
  • warファイルのエクスポートとautodeployへのコピー

JSFの特徴はjspではなく、xhtmlを使うところです。

続きを読む

Eclipse+JSF+JPAで作るアプリ(2)―Hello World(1)

Eclipse上で、プロジェクトを作成しHelloWorldプログラムを
Glassfishにデプロイするまでの流れを記述します。

SQL Serverを選んだ理由はこの空のデータベース作成のステップが簡単だからです。

続きを読む