- 追加された行はこの色です。
- 削除された行はこの色です。
// 一覧用テンプレート
#topicpath
----
***コンテンツ一覧 [#o4303174]
#ls2
***Hibernateって? [#u95f4d7f]
HibernateとはTorqueと同様O/Rマッピング・フレームワークです。ちょっと前まではTorque優勢って感じだったと思うんですが、JBossやEJB3.0の件があって最近ではHibernateの方が優れているという記事をよく見かけますね。
***関連リンク [#vdab1c7e]
-http://www.atmarkit.co.jp/fjava/rensai3/ormap05/ormap05_1.html
-[[マニュアル日本語訳:http://www.hibernate.org/hib_docs/reference/ja/html/]]
***とりあえずメモ(おぼえがき) [#y61f382c]
使い方。はじめからDBがあるばあいはMiddlegenとかでマッピングファイル、Javaファイルまで生成するとよい。
***結合(関連)を考える [#t380b000]
#ref(fig1.gif)
- Member -> WorkGroupを表現する
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になるみたい。
- WorkGroup -> Memberを表現する
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おぼえがき [#g8f87fb9]
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!((ほかにもant middlegenでさまざまなファイルが生成される。))。
----
SIZE(10){[[FrontPage]]}~
SIZE(10){現在のアクセス:&counter;}