hibernate再考

2005/12/20 10:07

※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】

hibernate3.0.5を用いたプロジェクトが一息つきつつあります。

最後にデータベース側の最低限のチューニングを行おうとして、またはまりかけました。 B表に変更があるとA表にB表の関連するものを計算した結果を保存するトリガーを設定しました。 そのトリガーが動いたり動かなかったりします。トリガーを書いて、SQLで動作は確認をしました。 A表がアップデートでB表はインサート、という条件でトリガーが動作しないっぽいとメンバーが不思議がっています。 セッションオブジェクトを介して更新系のオブジェクトが溜まっているときに、セッションオブジェクトを介して別のオブジェクトを取得しようとすると、溜まっている更 新系の処理が(取得の処理より)先に走るという認識でした。 残念ながら、hibernate君はそのままオブジェクトを溜め込み、しかも「インサート→アップデート・・」というとんでもない順番で更新系の処理を行ってくれま した。

それぞれListにしまっておいてインサート系から実施していくので当然ちゃ当然ですし、hibernate君を通さずに行ったDBへの変更なんて(DBから見れば 同一トランザクションでも)知らんっていうのもわかります。

私はこの3ヶ月で慣れっこになっているので、flushして別のオブジェクト取得前に強制的に更新系処理を行わせました。

皆さんから`おしかり(ご指摘)`_をうけてからほぼ3ヶ月。やはりhibernateを皆さんが良いという理由がわかりません。 皆さんはどの程度の規模の**どんな種類のプロジェクトに使用して良かったと感じていらっしゃるのか教えてください**。

::投票結果表示の下にある+voteという部分をクリックすると投票フォームが現れます(二重投票可能だと思いますが清き一票をお願いします)

2005/12/20 10:05 by makoto
ちなみに次プロジェクトからはTorqueに戻る予定です。他にいいO/Rないかなぁ。
アップ直前までデータベースのリファクタがあるという前提で(hqlとかみたいに文字列使うのはありえない)。

Prev Entry

Next Entry