comment 0

Hibernateをいじる(5)

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

1.Hibernate設定ファイル

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

[xml]



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

[/xml]

ここでのポイントは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]

参照はこんな感じ。

[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();
[/java]

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

「Hibernateをいじる(6)」につづく

Follow me!

Filed under: ブログ

About the Author

Posted by

経済産業省推進資格ITコーディネータ/ITエンジニア。井上研一事務所代表、株式会社ビビンコ代表取締役。北九州市出身、横浜市在住。 2000年よりプログラマ・SEとして企業の業務システム開発に従事し、2012年に独立。AIやIoTに強いITコーディネータとしても活動中。著書に「初めてのWatson」、「ワトソンで体感する人工知能」など。セミナーや研修講師での登壇も多数。

コメントを残す