HibernateとはTorqueと同様O/Rマッピング・フレームワークです。ちょっと前まではTorque優勢って感じだったと思うんですが、JBossやEJB3.0の件があって最近ではHibernateの方が優れているという記事をよく見かけますね。
使い方。はじめからDBがあるばあいはMiddlegenとかでマッピングファイル、Javaファイルまで生成するとよい。
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()
はないことが多いように思うけど。。。
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