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という部分をクリックすると投票フォームが現れます(二重投票可能だと思いますが清き一票をお願いします)


 
ponybadge

Powered by

Feedbacks

Tweets

Tags

Calendar