トップページtech
1001コメント353KB

Java⇔RDBのMapping-Frameworkを語るThre Vol.3

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
Prevoius Thread
「Java⇔RDBのMapping-Frameworkを語るスレ Vol.2」
http://pc5.2ch.net/test/read.cgi/tech/1086315004/
「Java⇔RDBのMapping-Frameworkを語るスレ
ttp://pc5.2ch.net/test/read.cgi/tech/1049030272/

●まずは、基礎知識と技術選択指針など
 [The Fundamentals of Mapping Objects to Relational Databases]
  (RDBに対するオブジェクトマッピングの基礎(英語))
  ttp://www.agiledata.org/essays/mappingObjects.html

 [O/R-Mappingツールの比較サイト(英語)]
  ttp://c2.com/cgi-bin/wiki?ObjectRelationalToolComparison

 [Catalog of Patterns of Enterprise Application Architecture]
  ttp://www.martinfowler.com/eaaCatalog/

詳細は、>>2以降に。
0357デフォルトの名無しさんNGNG
母さんはそんなこと知りません!
ごちゃごちゃ言ってないで早く寝なさい!
0358デフォルトの名無しさんNGNG
そこでS2Daoですよ
0359デフォルトの名無しさんNGNG
>>358
SQL厨にマッチするのはiBatisでしょ。
0360デフォルトの名無しさんNGNG
>>356
さすがに無理がないかい?
テストのためにアーキテクチャをひずますのも本末転倒だし。
0361デフォルトの名無しさんNGNG
>>356
hsqldbのユーザーマニュアルの、SELECTの項を見る限りでは、使えるように思える。
FROM句の次に「sqlstatement」って書いてあるし。
0362352NGNG
>>359
それが嫌だからO/Rマッピング使いたいんじゃん。
でも、O/RマッピングがSQLと比べてまだまだ貧弱だってこと。

>>360
そんな無理あるのかな?

現状は無理でも、DBへの依存を断ち切ることはO/Rマッピングの
究極の目標なんじゃないのかって思ってるんで。

開発環境のDBってゴミデータに埋もれがちで、動かないのが
データのせいなのか、プログラムのせいなのか解析するのに
手間がかかることよくあるし。

DBを扱う場合のUnit Testって、データまで含んで完結するしさ。

それに、複数環境で動かせられるってのが必須って要件は少ないと
思うけど、可能にできるならば品質の向上にも効果あると思う。
0363デフォルトの名無しさんNGNG
DBUtilsが軽めで分かりやすくていいと思ったが、
where句の条件式がコロコロ変わるようなのだと
キツいかと思った。

SELECT * from Employ WHERE name=? or tel=? or ・・・項目いっぱい

みたいので、telが存在しない場合は条件式に含めない、となると同じようなSQLをプロパティファイルに
いっぱい記述するかWHERE句だけ動的に生成するか。で動的に生成するとせっかくSQLを
外部ファイルに出している意味が激減。

iBatisなんかはどうなんでしょう。
0364デフォルトの名無しさんNGNG
>>362
DBのUnitテストはDBUnitを使えるときは使ってますが
362タンはどうしてます?
DELETE INSERT でテストデータを投入するのはUnitテスト的には
かくあるべきと思うのだけれどもテスト用スキーマを作らせてくれない
環境だと使えない。
0365デフォルトの名無しさんNGNG
Hibernate 2.1.7cってのがリリースされています。
ttp://www.hibernate.org/30.html

Cayenne開発版は1.2 M1になってますね。
ttp://objectstyle.org/cayenne/release-notes/RELEASE-NOTES-1.2M1.txt

CayenneってV1.2でID列(自動インクリメントの列)をサポート
するみたい。リリースはまだまだ先でしょうけど。
0366デフォルトの名無しさんNGNG
>>362
> 現状は無理でも、DBへの依存を断ち切ることはO/Rマッピングの
> 究極の目標なんじゃないのかって思ってるんで。

現実的に無理だね。
DBに進化を止めてもらわないかぎりは。
構文的に問題なくても、DB機能の違いが多すぎる。
ORマッピングは、DBを考えなくてよくするしくみではなく、DBはDBで、JavaはJavaで考えれるようになるしくみだし。
良くも悪くも、単なるマッピングだよ。ラッパーじゃない。

それにここで問題にしてるのは、マッピング機能ではなくて、HQLの表現力という話だね。
環境依存SQLをラップする共通言語が欲しい、HQLにその役割をもって欲しいってことでしょ?
0367デフォルトの名無しさんNGNG
iBatis、S2DaoのスタンスはSQLが環境依存なら、SQLをそのままJavaオブジェクトに
マッピングしてまえっ、って感じか。ORマッピングというよりは、Object-SQLマッピングという感じ?
0368デフォルトの名無しさんNGNG
>>362

> 現状は無理でも、DBへの依存を断ち切ることはO/Rマッピングの
> 究極の目標なんじゃないのかって思ってるんで。

DBに依存しないのに、何故OとRをマッピングする必要があるのかと。
素直にOODBを作ったほうがいいんじゃないかとさえ。
0369デフォルトの名無しさんNGNG
>>363
iBatisは動的なSQLが可能。
if これが0以上ならとか
0370デフォルトの名無しさんNGNG
>>368
俺もそう思う。オブジェクト指向かXMLでやるのが自然だな。
現在のO/Rマッピングはあくまでマッピングだから、RDBMSが持つようなスケジューリングの最適化機能なんてのは無い。
もしあったとしても特定のRDB製品限定にならざるおえないから、O/RマッピングツールのどのRDB製品でも同じようにっていう概念と相反してしまう。
0371352NGNG
>>363
DBUtilsはゴミだな。
名前付きパラメータすら使えないし、型マッピングが固定だし、
パラメータにnull渡せないし、コネクション引っ張りまわすか、
毎回DataSourceから取得する作りだし。

実際使ってる人がどうやってるか知らないけど、まともに
使えるようにするには相当被せなきゃだめっぽい。

>>364
DBだけってのはあきらめて、ロジック側でデータ足したり
しながらやってるよ。テスト終わったらRollbackして。

>>366
>それにここで問題にしてるのは、マッピング機能ではなくて、HQLの表現力という話だね。
>環境依存SQLをラップする共通言語が欲しい、HQLにその役割をもって欲しいってことでしょ?

話ずれたけど、主題としてはこれを言いたかった。
DBってあまりに標準ってものがなさ過ぎるから。

そのためのツールとして、現時点では理想と現実の折り合いで
一番センスいいな、と思ってるのがHibernateだから、
多くのDBで普通に書けるSQL程度はサポートして欲しい、と。

>>368,370
究極の目標って書いたのは、DBの持ってる機能は最大限利用しつつ、
それを意識せずに使えて、十分なパフォーマンスが得られるってことだよ。
その時にはO/Rマッピングとは呼ばなくなってるかもしれないけど。

ちょっと極論すぎてぼやけてきたんで、どうでもいいけど。。
0372デフォルトの名無しさんNGNG
ORマッピングとまたその上のレイヤーを組み合わせたフレームワークがあればいいんだろうけど。
でも、やっぱりリレーショナルモデルとオブジェクトモデルという異なったモデルを使う以上は、完全なラップは無理そうだ。

アプリケーションを高度に部品化すれば、DBを意識しなくてもよくなるだろうけど、そんときはORマッピングどころの話じゃないしね。
0373デフォルトの名無しさんNGNG
>>364

>>362じゃないけど、
環境標準のテストデータを整備して、
setUpメソッドで、自分のテストデータを投入して、
tearDownメソッドで、標準のテストデータを投入するのはどう?

あるいは、setUpメソッドで既存のDBデータを読み込んでIDataSetに格納して、
tearDownメソッドでDELETE_INSERTするとか。
(えらく時間がかかりそうだし制約とかがからむとヤバそうだが)

スレ違いかも・・・スマソ
0374デフォルトの名無しさんNGNG
xdoclet の @hibernate.collection-key-column がうまく動かない。
http://opensource.atlassian.com/projects/xdoclet/browse/XDT-1161
解決法知ってる人いたらきぼんぬ。

top-down で開発するつもりだったけど、@hibernate 書いて xdoclet 動かして、
想定通りの hbm.xml が生成されてるか確認するぐらいなら、
最初から hbm.xml 書いた方が楽だと思った。middle-out で開発しようか思案中。
0375デフォルトの名無しさんNGNG
>>374
たぶん、それだとJavaコードの自動生成とかDBの自動生成で不満がでるんじゃないかと。
XDoclet使うのがいやなら、テーブルは別に作って、Javaコードとhbm.xmlを別々に書いたほうがいいと思う。
どちらにしてもテーブルは自力で作って、一発目のクラスとhbmはbottom-upで作った方がいいと思う。
あとは、XDocletを使ってJavaコードだけをいじるか、Javaコードとhbm.xmlを別々にいじるか、にしたほうがいいと思われ。
0376デフォルトの名無しさんNGNG
商用製品だけど、TopLinkってどう?

マニュアルとか見てみたけど、ORMの機能は
十分揃ってそうだし、GUIのマッピング
ツールもよさげ。値段、高いんかな。

http://www.oracle.com/technology/products/ias/toplink/
http://otn.oracle.co.jp/products/ias/toplink/
0377デフォルトの名無しさんNGNG
>>376
これに入ってるらしい。
http://www.sourcenext.com/products/oracle_jd/
0378デフォルトの名無しさんNGNG
TopLink、結構いいですよ。
商用だけあって、GUIとかマニュアルとか
ちゃんとしているし。
RDBMSがOracleしか選択しないのであれば、
悪くない選択だと思います。

Oracle以外のRDBMSでも動くけど、
サポート面が恐いよな。
0379デフォルトの名無しさんNGNG
Cayenne 1.1 Final キター!!
ttp://objectstyle.org/cayenne/
ttp://www.theserverside.com/news/thread.tss?thread_id=30414

SQLTemplate (think iBatis inside an ORM, without XML in queries, editable via GUI), distributed caching, expression parser, inheritance mapping, professionally looking Modeler, etc.

SQLTemplateっていう新機能でiBatisのように、
任意のSQLが投げられる、しかもGuIで作業できるって事か?

0380デフォルトの名無しさんNGNG
Hibernate3にも実装されるし、SQLテンプレートは必須ってことだね。
0381352NGNG
>>374
@hibernate.collection-keyが抜けてるからじゃない?
ドキュメントだとcolumnが書けるように見えるけど、
xdt側では何も見てない。

@hibernate.set
lazy="true"
cascade="none"
name="CAPABILITY_ID"
@hibernate.collection-key
@hibernate.collection-key-column name="ENTITY_ID"
@hibernate.collection-key-column name="CAPACITY_ID"
@hibernate.collection-one-to-many
class="solutionCapability.VoiceCapability"
0382デフォルトの名無しさんNGNG
Cayenne1.1 Finalリリースage
0383374NGNG
>>381
@hibernate.collection-key の column は省略不可って
書いてあるから、試してないけど、今度試してみます。
middle-out に移行したので、すぐには試せないけど…

つーか、buttom-up で @hibernatedoclet 吐いてるのって、
middlegen だったのね。@hibernatedoclet 付の .java に戻すには、
中→下→中→上 と生成しなきゃダメなのか…。
0384352NGNG
>>383
middlegenってcollection系は結構間違えたの吐いてたよ。
XDocletもキーや外部キーとかで一部の属性が無視されたり。
0385デフォルトの名無しさんNGNG
素直にhbm書いたほうが一番楽ってこった。
DB仕様書から吐くマクロ作っておけば無問題。
0386デフォルトの名無しさんNGNG
マクロつくるなら、マッピングクラスもついでに吐けばいいね。
0387デフォルトの名無しさんNGNG
hibernateのHbm2JavaTaskを使ってBeanを作ってるが、
コメントなど日本語の部分が全部文字化けする・・・と思ったが
OSのデフォルトエンコードで出力されるんだね。(プロジェクトはUTF-8)

いまはGeneratorを書き換えてなんとか使ってますが、ファイルエンコードを外部から
指定する方法ってあります?
0388デフォルトの名無しさんNGNG
MySQL使ってるんだけど、InnoDB を使わず MyISAM のままにして、
FK 制約とか cascade とかの、リレーション的機能はHibernateにおまかせ、
という開発スタイルはなんか問題ありますか?
0389デフォルトの名無しさんNGNG
>>388
どうなんだろ
別にいいといえば言いが
Hibernateとかのフレームワークって
トランザクションどうしてんの?
0390デフォルトの名無しさんNGNG
大規模PJでHibernate使ってもう3回目。もうメリットを感じない。疲れた
0391デフォルトの名無しさんNGNG
既存のものを移行するタイプの場合、既存DBの質にも寄るが
Hibernateはほとんどの場合使い物にならない
0392デフォルトの名無しさんNGNG
>>390
どの辺で疲れたの?
0393デフォルトの名無しさんNGNG
たぶんあれだろ
実際のプロジェクトでDBが最初にかっちりと決まっているわけではなく
コロコロ変わったりすることもしばしば
そのような状況の中、コーディング作業も同時進行しちゃうから
そのたんびに設定ファイル書き直しとかいうのがイヤなのでは?
結局、自分のところ自分で修正するならSQL(JDBC)直で書いてあるソースのほうが直しやすい
0394デフォルトの名無しさんNGNG
>>393
それって、それなりの規模があるなら、SQL直で書いてあるソースのほうがいやになりそうだが。
DBのコロコロ変わる変更が、フィールド追加くらいのものじゃなく、構成として変わるような起こるようなら、ORマッピングがどうのじゃなく、その組織自体に疲れたってことじゃない?
ORマッピング使わないにしても、愚直にJDBCプログラムするのは、ただ手間がかかるわけで、なにか仕組み使うだろ。
0395デフォルトの名無しさんNGNG
そこでiBatisですよ。
0396デフォルトの名無しさんNGNG
EOF! EOF!
0397デフォルトの名無しさんNGNG
>>395
それなら、Cayenneのが良さげ。
0398デフォルトの名無しさんNGNG
基本的にビジネスドメインモデルとDBのモデル構造はちがう、マッピングできない
いろいろあるがこれが根本か、夢を見ていたおいらがあほだった。
あと、
Javaやって6年くらいになるが
・オブジェクト指向厨は運用や保守のことをまったく考えていない
・ソースを読まないオープンソース厨がおおい
・DBはJavaだけのものじゃない

でもiBatisは気になる。
0399デフォルトの名無しさんNGNG
>>398
相当レベルの低いところでやってたんだね。
うつってるよ。
0400デフォルトの名無しさんNGNG
そう、会社でまともなシステム開発は無理
気心知れた仲間内でサービスまでやるプロジェクト立ち上げ中。
おいらたちの合言葉
「仕事は適当に切り上げて、夢は家で見よう!」
60%くらいで働けばその辺のやつらの100%以上は十分働けるよ。
全開で頭使うのは会社以外で
0401デフォルトの名無しさんNGNG
なんかDB->ビジネスドメインモデル->Strutsアクションフォームのこの
データのコピー処理作業がおそろしく無駄に覚えてきたStrutsで仕事な
今日この頃。

やっぱWebObjects + EOFみたいに、DBのモデルをそのままビューでも
使う、コントローラでも使う、モデルの変更は直接ビューに影響するって
のが楽でいいわ。
0402デフォルトの名無しさんNGNG
>>398
> オブジェクト指向厨は運用や保守のことをまったく考えていない
それは OO は関係なく、単に厨だからでは。
0403デフォルトの名無しさんNGNG
>>398
> ソースを読まないオープンソース厨がおおい

全体からみればオープンソースのソース読む方がむしろ奇特だと思われ。
0404デフォルトの名無しさんNGNG
>>401
BeanUtils使うだけじゃだめなん?
0405デフォルトの名無しさんNGNG
>>403
そうゆう輩がおおい。
たいてい、完全なマニュアルもサポートもないオープンソースを使うとき
ソースだけが頼り。
Hinernateのようにマニュアルがこれだけきちんとしているもののほうが珍しい
それでもソースは重要
OpenSourceってどういう意味や精神しってるかい?
昔はオープンソースプロダクトを使うとき必ずコンパイルしたものだ
0406デフォルトの名無しさんNGNG
昔は昔。
今は今。

昔は、オープンソースは情報に敏感な一部の技術者が、趣味的にいじることが多かった。
今はオープンソース製品が広く認識されて、特に高いモチベーションを持つわけはない普通の技術者が業務としてオープンソース製品に触れるわけだ。

今はオープンソースと言っても、原理主義的オープンソースから、単にソースが公開されているだけのオープンソースまで、人々の認識は多種多用だし。
0407デフォルトの名無しさんNGNG
LinuxやJavaを牽引する役目を背負ったオープンソース。
政治的思想を広めるという使命を背負ったオープンソース。
同好会的な内輪ノリのオープンソース。

人生色々、オープンソースも色々。
0408デフォルトの名無しさんNGNG
>>405
>OpenSourceってどういう意味や精神しってるかい?
マニュアルを販売して、大儲け。
0409デフォルトの名無しさんNGNG
>>408
ちがうよ、ちょっとした付加機能追加して、有償販売して大もうけ。
0410デフォルトの名無しさんNGNG
基本開発に金だして、テストやサポート、バグフィックスはタダ働きのボランティア任せ
0411デフォルトの名無しさんNGNG
オープンソースよりほしい漏れ専用クローズド彼女
0412デフォルトの名無しさんNGNG
オープンソースで無料のほうがいいね。
ウィルス埋め込まれてたらやだけどね。
0413デフォルトの名無しさんNGNG
>>411
上下の口もクローズド
入れさせません
0414デフォルトの名無しさんNGNG
最近はこんなやつらばっかしだ。
問題がおきたとき情報集めてソース読んで対処するのはいつもおいら。
疲れたな
0415デフォルトの名無しさんNGNG
ORM使うと、ビューとの兼ね合いが難しくならない?
ビューは使えなくなるね。
0416デフォルトの名無しさんNGNG
?????
0417デフォルトの名無しさんNGNG
ビューで書くか、マッピングの設定で書くか、迷える。
0418デフォルトの名無しさんNGNG
>>414
問題が過ぎ去った後
自分の努力を誰も理解してくれない寂しい状況になる
0419デフォルトの名無しさんNGNG
そんなクリスマス
0420デフォルトの名無しさんNGNG
DBアクセスの速度を考えて、結局ビューにしてしまったクリスマス。
0421デフォルトの名無しさんNGNG
そしてビューにした結果
詳細ドキュメントの修正を依頼されたクリスマス
0422デフォルトの名無しさんNGNG
そんなクリスマス。

ところで、ビューってORMと共存しにくくなかった?
0423デフォルトの名無しさんNGNG
ビューごとにマッピングオブジェクト作るっていうのはどうなんだろう?
0424デフォルトの名無しさんNGNG
ここでいってるビューってなんなんだ?
0425デフォルトの名無しさんNGNG
DBのViewでしょ。
0426デフォルトの名無しさんNGNG
少なくとも、MVCのViewじゃないと思う。
0427デフォルトの名無しさんNGNG
ORマッピングツールによるが、OR側でちゃんとリレーション定義してれば
問題なくORでいけるんじゃないか?
0428デフォルトの名無しさんNGNG
>>427

>>415
0429デフォルトの名無しさんNGNG
つうかね、DBを正規化しようものならパフォーマンスがどーのこーのって話になる
で、結局でかいプロジェクトになるとパフォーマンスでないから
夢見るきれいな形にはなってくれない
0430デフォルトの名無しさんNGNG
>>424
ヨヨ「オレルスの仲間達!みなさんもちからを!」
「私に力を!強さをください!」

ヨヨ「ビュー……あなたも……お願い……」
「私、ビューには嫌われてる……」
「私がいることで、ビューをいやな気分にさせてしまう……」
「それは分かってるの……」
「でも……ビュー」
「貴方はやっぱりわたしの大切な人なの」

ヨヨ「いまだけでもいいの……わたしに……強さを!」
「あの頃のように!」

ヨヨ「ねえ、ビュー……もっとつよく、つかまってもいい?」
ビュー「……」
ヨヨ「もう……つかまっちゃった……」
0431デフォルトの名無しさんNGNG
>>429
ちげーよ。きちんとした分析もせずに画面のデータが保存できりゃ
それでよしみたいな腐った非正規化された設計になってるからだろ。

どっかのSヨがExcelで作ったゴミDBを何度見たことか・・・。

非正規化すると、重複データをメンテナンスする必要性が出てきたり、
結局はマスタチェックしなきゃいけなかったりでデメリットも相当多い。

正確に分析してあるべき姿を論理設計
           ↓
パフォーマンスや簡略化のために非正規化

ちゃんとやってるプロジェクトってどれくらいあるの?
脳内で適切に非正規化できる奴は滅多にいない。
0432デフォルトの名無しさんNGNG
正規化できる人も滅多にいません(T T)
0433デフォルトの名無しさんNGNG
簡単な正規化すらできないのって理解不能だよな
0434デフォルトの名無しさんNGNG
多分できないんじゃなくて、ぶったるんでてやる気がないんだろ。
0435デフォルトの名無しさんNGNG
そういうやつは本気でやってもできない気がする
0436デフォルトの名無しさんNGNG
>>434
それでいて残業はしっかりしていくんだよな。
0437デフォルトの名無しさんNGNG
正確に分析してあるべき姿を論理設計
           ↓
パフォーマンスや簡略化のために非正規化
確かにこれはわかるが
この変遷についていけるマッピングFWがあるのか・・・
0438デフォルトの名無しさんNGNG
>>437
その変遷どおりにマッピング変えればいいだけだよ。
ORMに幻想抱きすぎ。
SQLを変更するのと、どっちが手間がかかるか、安全か、天秤にかけて、適切な方を選べばいい。
0439431NGNG
>>437
そうでもないと思うよ。非正規化が絶対に必要なのは一般に思われてるほど
多くないと思ってるから、むしろORMの機能をフルに使う事を前提にして
設計した方が綺麗に無駄なく作れるような気がする。

ERD上の関係より、コレクションの関係の方が詳細に限定されてるし。

あるべき姿の論理設計って、実際はかなり大雑把なもので、最低限必要な
属性しか持っていない概念的なテーブル構成にして、極端に詳細な要件は
省いて設計して、物理設計の時点で反映させるくらいでいいのかも。

パフォーマンスの点だと、単に結合するテーブルを減らす目的の非正規化って
無駄(マスタとの結合)を減らす程度の効果しかなくて、日次や月次バッチなりで
集計結果を先に計算して誤魔化す方が劇的な速度向上が得られると思う。
それには非リアルタイムになるってデメリットも出てくるけど。

チューニングって言っても、結局、「誤魔化す>>>無駄を減らす」なわけで。
0440デフォルトの名無しさんNGNG
日次や月次の処理をごまかしだと捉えないほうがよいと思うが。
0441デフォルトの名無しさんNGNG
つうか日次バッチや月次バッチは「当然考慮すべきこと」だろ。
0442デフォルトの名無しさんNGNG
>>433-436
マジレスすると、そいつらには
「『正規化』という概念そのものが無い」
のですよ。

もちろん、オブジェクト指向とか、RDBとか、
そーゆー概念も無い。

【大型汎用機】とか【コピー句】とか、
そういった世界の人々が、ORマッピングの世界に流れてきて
カオスを生み出しているのが現状。
0443デフォルトの名無しさんNGNG
最近思うに、RDBが対象である限り、この手のフレームワークは
どんどんシンプル化されて、

[RDBMS] ⇔ [必要なSQL投げ投げロジック。SQLは手書き] ⇔ [オブジェクト]

に収束する希ガス。。。
0444431NGNG
>>440-441
それは受付キュー ⇒ 揃ったところで定時処理みたいな奴でしょ?
最初から処理可能時間が限定されてるようなのはまた別の話。

ただね、何でもかんでもバッチでって発想の奴多いからさ。
一度その前の綺麗な姿で設計すべきだろって言いたいんだよ。

パフォーマンスに関してのチューニングだと、

1) 無駄を減らす ⇒ インデックスの有効利用やプロシージャ化など
2) 誤魔化し ⇒ 時間かかる計算を先にして計算結果のみ利用など

この2種類のどっちかになると思ってるんだけど、どうよ?

>>443
現状でORMだけで完結できないのは同意。EJBQLもHQLも
貧弱だし、そのへんも結局SQLのラッピングだし。
0445デフォルトの名無しさんNGNG
君らは「糞プロジェクト」の経験が無いから幻想に浸れるのだよ
要件定義の段階で業務のすべてを吸い出すことは出来ない
ようやく決まったと思ったら、他の担当の奴(顧客側)が突然首突っ込んできて
「ああ、それは違うよ 今はそう言うやり方ではない」と、打ち合わせている業務担当者でさえ知らない新事実が発覚する

ほんと糞プロジェクトだよ
0446デフォルトの名無しさんNGNG
>>444
> 2) 誤魔化し ⇒ 時間かかる計算を先にして計算結果のみ利用など

こういうのを「誤魔化し」というのは、処理の時間方向での分散という考え方がしっかりできてないという証拠だと思ってしまうんだけど・・・
0447デフォルトの名無しさんNGNG
テーブルが単純に1つのクラスにマッピングできるようなシステムだと、ORMはあまり必要ないかもね。
0448431NGNG
>>446
ふーん。
じゃあ、事前集計の結果と、リアルタイム集計が同一だというの?

要件的に同一とみなして構わないってだけの話だと思うんだが。
近似値しか得られないのであれば、データ的に誤魔化してるじゃん。
0449デフォルトの名無しさんNGNG
>>448
近似値を得ることを誤魔化しというのも、数とか計算についての考え方がしっかりできてない証拠だと思ってしまうんだけど・・・
0450デフォルトの名無しさんNGNG
というか、近似値しか得られない日次や月次処理って、どんなぬるい計算してるの?
0451デフォルトの名無しさんNGNG
> じゃあ、事前集計の結果と、リアルタイム集計が同一だというの?

いくらでも同一にできると思うのだが。
0452デフォルトの名無しさんNGNG
事前集計の結果とリアルタイム集計の結果が異なっていたら
事前集計の結果を上書きするようにします。





というような改竄系の仕様の乱発を求める顧客の要望には
正直ついていけないというか罪の意識さえ感じてたりします。
0453デフォルトの名無しさんNGNG
たとえば銀行の支店・本店間のデータ集計なんかで日次・月次データ
なしで何をやれと。
0454デフォルトの名無しさんNGNG
リアルタイム集計と言いたいんだろうな。
0455デフォルトの名無しさんNGNG
>>443
そこでiBATISですよ。

>>445
そこでアジャイルですよ。
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?ScopeLimbering
ttp://capsctrl.que.jp/kdmsnr/wiki/bliki/?FixedScopeMirage
0456デフォルトの名無しさんNGNG
事前集計と事前集計なしとでリアルタイム集計の差が出るようなプログラムが思いつかないんだけど、
■ このスレッドは過去ログ倉庫に格納されています