Hibernate

Middlegen

昨日のMiddlegenで吐き出された*.hbm.xmlに不具合があった。 テーブル名の終わりに「s」がついてると、「s」をのけた状態で作られるみたい。 原因を突き詰めたところ、middlegen Taskのオプションで singularize="false"というのを入れておけばいいみたい。 …

DDL > middlegen > hbm2java

下記のプラグインを用いてDDLからマッピングファイルそしてJavaBeansまで生成してみました。 Clay HP DBEdit HP 手順 Clayでデータモデリングをして、DDLを作成します。 出来たDDLをDBEditで実行してテーブルを作成します。 Antでmiddlegenを使ってテーブル…

DTOへ直接入れちゃえ

one-to-many many-to-one とか面倒なので、HQLで直接DTOへ入れてしまおうと思います。 下記の3つのテーブルを結合したものをEmployeeDetail(DTO)へマッピングしたいと思います。 テーブル 社員 create table EMPLOYEE ( employeeid integer generated by def…

面倒くせぇ

あー面倒くせぇ。 insert(Object obj) update(Object obj) delete(Object obj) この三つはいいんだけど、 find(String hql) こいつが面倒。 期待した結果を得るのに時間がかかる。 上手く使い分けるのが得策かな。 Hibernateをバリバリに使いこなしている人…

TODO

1:Mだけやりました。 とりあえず動かすことはできた。 でも、まだ納得のいかない部分が残ってる。 その部分を解明しないと。 あと、最新のDBマガジンにHibernateの記事が載ってた。 その中で開発者のKing氏へのインタビューで、 「Hibernateはどんなときに使…

TODO

土日にやるTODOリスト Hibernateで1:1 Hibernateで1:M HibernateでM:M 時間あるかなぁ Tapestryの勉強もしたいんだけど、 業務でHibernateを使ってるからしょうがない・・・

Hibernateのdelete

HibernateのHQLを使ってdeleteメソッドを呼ぶときだけど、 Queryオブジェクトを使ってできないのかなぁ? たとえば in を使う SELECT だと下記のようになると思います。 Query query = session.createQuery("from Object a where a.id in (:id)"); query.set…

O/Rマッピング

帰宅してからHibernate入門記を参考に勉強しました。 koichikさんに感謝です。 まだ、はじめの方ですがupdate()メソッドにオブジェクトを渡すだけで、 updateできるのに感動。これこそORM。 「update XXX set XX=XX,・・・・・・ where XX = XX」 とかってカ…