
[IT Architect連動企画]
連載:Hibernateで理解するO/Rマッピング(4)
簡単なプログラムでO/Rマッピングを体験
| O/Rマッピングは、従来の煩雑なデータベースに関する処理の記述をスマートにし、柔軟なアプリケーションの構築を可能にします。本連載ではオープンソースのO/Rマッピングフレームワーク「Hibernate」を用いてO/Rマッピングの基礎を解説します。そしてさらに、J2EEアプリケーションへの実践的な適用方法とそのメリットも紹介していきます。(編集局) |
クロノス
山本大
2004/8/26
前回「Hibernateを試すための準備」はHibernateを使うためにHibernateやデータベース(MySQL)のセットアップ、そして開発環境として使用するEclipseを使い、プロジェクトの作成までを行いました。
今回は、実際にサンプルプログラムを動作させることで、O/Rマッピングフレームワークを使用した場合のデータベースアクセスがどのようなものであるかを見てみましょう。この回から本連載を読み始めた読者は、前回「Hibernateを試すための準備」を読んで環境をセットアップいただき、ぜひ試してください。
|
|
接続ファイルの準備 |
まず、Hibernateを使ってアプリケーションとデータベースを接続するための接続定義ファイルを用意します。以下に示す「hibernate.cfg.xml」というファイルを作成してください。このファイルはクラスローダーが読み取り可能なディレクトリに配置する必要があるため、「HibernateProject/config」ディレクトリに保存します。
| リスト1 接続定義ファイル「hibernate.cfg.xml」 |
<?xml version="1.0" ?> |
この接続定義では、以下の情報をHibernateに知らせます。
表1 接続定義ファイル「hibernate.cfg.xml」の内容
|
接続定義ファイルにはほかにも多くのパラメータが存在しますが、今回のサンプルではこれだけの指定で十分です。パラメータの詳細に関してはHibernateのマニュアルを確認してください。
|
|
マッピングファイルの準備 |
次に、データベースのテーブルとJavaクラスをマッピングするための定義を記述した、マッピング定義ファイルを用意します。このサンプルプログラムでアクセスするテーブルは表2に示す定義の「EMP」テーブルです。EMPテーブルには画面1のようなレコードが格納されています。
表2 EMPテーブルの定義
|
![]() |
| 画面1 EMPテーブルのレコード |
マッピング定義ファイルを「EMP.hbm.xml」という名前で作成します。このファイルもクラスローダーによる読み取りが必要なので、「HibernateProject/config」ディレクトリに保存します。
| リスト2 テーブルとのマッピングファイル 「EMP.hbm.xml」 |
<?xml version="1.0" ?> |
|
|
永続化Javaクラスの作成 |
次に作成するのはJavaアプリケーション内で使用する永続化クラスです。このクラスでは「EMP.hbm.xml」ファイルで<property>要素のname属性として記述したフィールドを定義し、各フィールドに対するgetter/setterのアクセッサメソッドを実装します。Hibernateは、データベースのデータをこのオブジェクトに格納してアプリケーションに引き渡します。この永続化クラスはEntity Beanのように特別なインターフェイスを実装せず、Serializableインターフェイスのみを実装したシンプルなオブジェクトです。
リスト3のソースコードを作成してください。なお、このクラスのパッケージは「entity」としていますので、「HibernateProject/src/entity」というディレクトリ構成を作成してソースを保存してください。
| リスト3 永続化Javaクラス |
package entity; |
| 1/2 |
|
INDEX |
||
| 第4回 簡単なプログラムでO/Rマッピングのメリットを体験 | ||
| Page1 接続ファイルの準備 マッピングファイルの準備 永続化Javaクラスの作成 |
||
| Page2 データベースアクセスプログラムの作成 |
||
Hibernateで理解するO/Rマッピング バックナンバー
- 第1回 O/Rマッピングの役割とメリット
- 第2回 JavaにおけるO/Rマッピング
- 第3回 Hibernateを試すための準備
- 第4回 簡単なプログラムでO/Rマッピングのメリットを体験
- 第5回 SQLに似たHQLでリレーショナルデータを柔軟に検索
- 第6回 O/Rマッピングの導入効果を測る
| Java Solution全記事一覧 |
TechTargetジャパン
- EclipseでScalaプログラミングを始めるための基礎 (2012/2/10)
概要や5つの特徴を紹介し、開発環境を構築して対話型実行環境「REPL」やEclipse上でHello Worldを実行します - 並列分散処理の常識をHadoopファミリから学ぶ (2012/2/8)
並列分散処理の課題やHadoopの長所/短所、そして短所を補うHadoop関連プロジェクトの構成や概要などを簡単に紹介 - WebLogicサーバ最新版「12c」の気になる4つの特徴 (2012/1/31)
久々にメジャーアップグレードしたJavaアプリケーションサーバについて、製品担当者に軽量インストーラなどの特徴を聞いた - GitHubをもっとソーシャルに使いこなすための7つ道具 (2012/1/23)
ソースコードホスティングのGitHub周辺で便利な新サービスが続々登場しているので、まとめて紹介しよう。特に連動クラウド「fluxflex」が注目だ
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -

