2005.10.24 · 技術と道具

Hibernateをいじる(5)

いよいよ、動かしてみます。

1.Hibernate設定ファイル

HibernateがどのRDBを使い、マッピングファイルは何を使い…ということを指定するために設定ファイルを書きます。
ファイル名は、hibernate.cfg.xmlがデフォルトで、クラスパス内に置いておきます。

XML
org.hsqldb.jdbcDriver jdbc:hsqldb:hsql://localhost/ sa true org.hibernate.dialect.HSQLDialect create

ここでのポイントは1つだけ。
hibernate.hbm2ddl.autoです。マッピングファイルから、自動的にRDBにテーブルを作る機能の設定です。
例えば、createにすると、起動するたびにRDBにテーブルを自動生成します。
実際のプロジェクトで使うことがあるかというと微妙ですが、どういうマッピングファイルを書くと、どういうテーブルになるのか、Hibernateが答えを教えてくれるわけです。便利に使いましょう。もちろん、実験する際に重宝しますし。
今回のマッピングファイルは、省略できるものは省略するポリシーでしたから、テーブルの型や桁数等はすべてデフォルトです。
マッピングファイルでは、型名、桁数、NOT NULL等を設定できます。きちんと設定すれば、そのとおりのテーブルになるわけです。

2.HibernateUtilを作る

別に必須ではありませんが、Hibernateのマニュアルに沿って、HibernateUtilを作りました。少し、便利になります。

3.いざ!

例えば、何かを登録してみましょう。

JAVA
Session session = HibernateUtil.currentSession();
Transaction tx = session.beginTransaction();

//科目の登録
Subject kenpo = new Subject();
kenpo.setCode("14501");
kenpo.setName("憲法");
kenpo.setCredit(4);
session.saveOrUpdate(kenpo);

//学生の登録
Student erika = new Student();
erika.setId("0499001");
erika.setName("三好絵梨香");
session.saveOrUpdate(erika);

tx.commit();
HibernateUtil.closeSession();

参照はこんな感じ。

JAVA
Session session = HibernateUtil.currentSession();
Query query = session.createQuery("from Student as s where s.name=~");
query.setString(0, "三好絵梨香");
Student erika = (Student)query.uniqueResult();
System.out.println(erika.toString());
HibernateUtil.closeSession();

次回からは、もう少し高度なことをやってみます。

2005/10/24 23:48
← Hibernateをいじる(4)
GMOグループ、Web2.0関連ベンチャーに投資する「ブログ… →
井上 研一
経済産業省推進資格ITコーディネータとして中小企業のDX・AI活用の現場で伴走支援を行う。「ITCプロセスガイドライン4.0」および「中小企業向けAI活用ガイド」執筆メンバー。著書・講演多数。ITエンジニアとして25年以上の実務経験。AI導入の実務に10年以上携わる。自ら開発したAIサービス「Gen2Go」が北九州発!新商品創出事業の認定を受ける。2026年4月より北九州市立大学大学院マネジメント研究科の学生としての顔も持つ。

本サイトおよびブログに掲載している内容は、特に明記のない限り、井上研一個人の見解に基づくものです。所属・関与する組織、団体、企業、研究会等の公式見解を示すものではありません。