Top / Hibernate

コンテンツ一覧

Hibernateって?

HibernateとはTorqueと同様O/Rマッピング・フレームワークです。ちょっと前まではTorque優勢って感じだったと思うんですが、JBossやEJB3.0の件があって最近ではHibernateの方が優れているという記事をよく見かけますね。

関連リンク

とりあえずメモ(おぼえがき)

使い方。はじめからDBがあるばあいはMiddlegenとかでマッピングファイル、Javaファイルまで生成するとよい。

結合(関連)を考える

fig1.gif

JavaBeans?(ここではMember)にプロパティを追加してマッピングファイル(Member.hbm.xml)に

<many-to-one name ="workgroup" column="GROUPNO"
 class="nu.mine.kino.binding.ait.hibernate.Workgroup" cascade="all" outer-join="auto"
 update="false" insert="false" />

を追加すればよいようだ。追加しない場合はMember#getWorkgroup()の返り値がnullになるみたい。

JavaBeans?(ここではWorkGroup?)にプロパティを追加してマッピングファイル(WorkGroup?.hbm.xml)に

<set name="memberList" >
 <key ><column name="groupno" /></key>
 <one-to-many class="nu.mine.kino.binding.ait.hibernate.Member" />
</set>

を追加すればよいようだ。追加しない場合はWorkgroup#getMemberList?()の返り値がnullになるみたい。

クラス設計で考えるとWorkGroup? -> Member はあってもその逆はあまりないかなぁ。ようするに

aWorkGroup.getMembers()

はあっても

aMember.getWorkGroup()

はないことが多いように思うけど。。。


middlegenおぼえがき

samples/build.xmlを修正し流用します。まずは

<!ENTITY database SYSTEM "file:./config/database/hsqldb.xml" >

を実際に使用するデータベース用のファイルに変更します。ほかには

name: javaクラスのパッケージ名に対応
database.name :これも変えるのかな?

などを変更します。また上で指定した

file:./config/database/XXXXX.xml

の内容を、個々人の環境に応じて書き換えます。たとえばこんな感じ:

<property name="database.url"  value="jdbc:sybase:Tds:[IP]:[PORT]/[DB]"/>
<property name="database.userid"    value="[ID]"/>
<property name="database.password"  value="[PASS]"/>
<property name="database.schema"    value="dbo"/> <-おもにこれ?
<property name="database.catalog"   value="XXXXXX"/> use XXXXXXとかするやつ

で、ant hbm2javaでOK!*1


FrontPage
現在のアクセス:28571


*1 ほかにもant middlegenでさまざまなファイルが生成される。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS