トップページtech
983コメント363KB

Java⇔RDBのMapping-Frameworkを語るスレ

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG
●各種Framework
[Torque]
http://db.apache.org/torque/
http://homepage1.nifty.com/kingyoshi/computer/jakarta/torque.htm

[HYBERNATE]
http://hibernate.bluemars.net/1.html

[CasterJDO]
http://www.castor.org/jdo.html
http://www-6.ibm.com/jp/developerworks/java/021025/j_j-castor.html

[ObJectRelationalBridge (OJB)]
http://www.terra-intl.com/jakarta/ojb/

●コネクション・プーリング
[Jakarta Commons DBCP]
http://jakarta.apache.org/commons/dbcp/
(Jakarta Commons DBCPを使ってみよう。)
http://taka-2.com/jclass/DBCP/
(DBCP利用法 from "『カモン!Commons!』 Jakarta Commonsを使ってスキルアップ" (2002/09))
http://www.mobster.jp/wiki/index.jsp?pid=Commons#i10
0446デフォルトの名無しさんNGNG
>>445
なんでもかんでもJavaで処理したがるのは単なる厨房
0447デフォルトの名無しさんNGNG
そもそもDBトランザクションはDBに任せればよいのではないかと思うのだが
EJBのセッション/トランザクションをなぜみんなそんなに有難がりますか?
0448デフォルトの名無しさんNGNG
>>447
言いたいことはわかるんだけど
DBのトランザクションはあくまでDBだけであって
EJBのトランザクションはもっと広範囲

それらを切り分けたりするために
「Required」「Supports」等の属性ある

単純に「行って来い」的な処理ではEJBのトランザクションのありがたみはわからないし、
そこまで細かい案件にめぐり合ったこと無いと思う
0449デフォルトの名無しさんNGNG
なんだかんだいって、Entitiy Beanが一番楽だと思えるようになってきたよ。
慣れてきたせいかな。
CMRをちゃんとつかいこなして、モデルを構築し、
Session Facadeな設計にしてビジネスロジックを公開するのが、一番スマートだよ。
0450デフォルトの名無しさんNGNG
BLOBを扱いたい場合に、おすすめのマッピングフレームワークはありますか?

BLOBの取得を必要なときまで遅らせることができるとうれしいです。
今、Hibernateを使っているんですが、普通にsession.find()で取得するとBLOBまで
引っ張ってきてしまうため、わざわざカラムを指定しています。
0451デフォルトの名無しさんNGNG
>>450
遅らせるって言うのは
タイミングを指定するってことでイイのかな?

こういう機能欲しいけど無いと思う
JBossとかのEJBコンテナにこういう機能ついてるけど・・・
0452デフォルトの名無しさんNGNG
>>450
適当に自作ジョブキューに突っ込んどいて、必要になったら一斉実行とか、
一般的な遅延評価ロジックとか、そんなのを作るのは簡単だと思うんだけど。
そういう話じゃなくて?
0453デフォルトの名無しさんNGNG
PL/SQLじゃなくて、Javaでストアドがかければなあ・・・

時と場合によって好きな場所に配置できるって、よくない?
0454デフォルトの名無しさんNGNG
Oracle 8iあたりから、Javaでストアド書けたはずだけど?
0455デフォルトの名無しさんNGNG
Torque ってどうよ?
0456デフォルトの名無しさんNGNG
トルクは糞
0457デフォルトの名無しさんNGNG
>>456ワラタ
0458デフォルトの名無しさんNGNG
>>454
やっぱりOracleだけなのね…
0459デフォルトの名無しさんNGNG
結局、Torque を使う場合には、複雑なSQL書くには無理があるから、
VIEW なんかを使ってDB側も歩み寄れということでよろしいか?
0460デフォルトの名無しさんNGNG
>>459
よろしい。

まあ、マスタメンテみたいな簡単な操作なら、Torque はお手軽だ。
0461デフォルトの名無しさんNGNG
>459、460 利点が分からん。
java でSQLを生成するよりも、
Torqueを覚えて、設定して、view 作って、コーディングして、
のほうが効率がいいと言うの?
Torque からのDBアクセスのオーバーヘッドを無視できるぐらい、
コーディングが簡単なの?コードのメンテナンス性が向上するの?
アプリケーションを変えずに、RDBMS の製品の変更や、
OODB に変更する事ってほんとにあるの?Torque だと可能なの?
Torqueに限らず、ORマッピングの利点がぜんぜん解りません。
それは、俺がコボラーだからか?
0462デフォルトの名無しさんNGNG
>>461
実行効率をよくするためのものじゃない
DBをいかにオブジェクト的に扱うか
0463デフォルトの名無しさんNGNG
>>462
コボラなりに解ってるつもり。
実行効率はむしろ悪くなるでしょ
で、オブジェクト的に扱った先には何があるの?
SQLのチューニングは不要なの?コーディングは楽なの?
メンテナンスは?テーブルの変更は?
ってことを聞きたかった。
それよりも、SQLとビジネスロジックを切り分ける設計をしたほうが
シンプルで良いのではないか?
0464デフォルトの名無しさんNGNG
>>463

>SQLのチューニングは不要なの?コーディングは楽なの?
>メンテナンスは?
マッピングフレームワーク使ったときに
SQLのチューニングは出来ない
DB固有の操作はあまり得意ではない
コーディングに関してだが、これはDBマッピングというよりも
いわゆるフレームワーク全体に言えることだが
ある決まった枠の中で作業するというのは人によって窮屈でもあり
勉強しないといけないことも、多い
ただ、それは最初だけだということ。
逆に、保守の面ではフレームワークが有利だよ

>テーブルの変更は?

これは、はっきり言ってどちらの方法でも
修正個所はある。


>それよりも、SQLとビジネスロジックを切り分ける設計をしたほうが
>シンプルで良いのではないか?

そんな設計的なこと、Java開発者なら誰でも考えているし、
Torque以前からアプローチは変わっていない
じゃあなぜ今Torqueや他のそういうマッピングツール使うのか・・・
アプリケーションの設計に時間かけて、あれこれテストなどやってるぐらいなら、
あらかじめ存在するフレームワーク使った方がイイに決まってるから
ただそれだけだよ。


0465デフォルトの名無しさんNGNG
>>463
>>464に補足するのであれば、開発人数が増えていった時に、プレゼンテーション層、
Web層、EJB層、EIS層での開発分離に役立つよ。

あと、少なくとも保守とコーディングは楽になる。
フレームワークを利用してるから開発者が変わっても対応してもらいやすいし。
SQLのメンテナンスなんて、基本的にViewの中身を差し替えればOKじゃない?

>SQLとビジネスロジックを切り分ける設計

TorqueでViewを使えばそうなるんでないかい。

そもそも設計に疑問があるなら、J2EEのデザインパターンに目を通してみればどうかな。
DAO系のパターンは、有名なフレームワークだったらほとんど利用されてると思うよ。
0466デフォルトの名無しさんNGNG
まあ、あれだ。
なんでもありよりも、縛りがあるほうが保守はラクになる。

設計書書くにしても処理を逐次記述していた部分が、
フレームワークの仕様書参照で済んだりする。
ドキュメントが減れば、そのぶんその後が引継ぎやすくなる。
0467デフォルトの名無しさんNGNG
DB厨の人は文句言うくらいなら、別に無理して使わなきゃいいんじゃないの。
別に使わなくてもできるし。

まあ、自分は毎回同じようなDAO書くのが嫌なんでTorque使うけど。
0468デフォルトの名無しさんNGNG
横からスマソ。
>>464
>保守の面ではフレームワークが有利だよ
しかし、今のフレームワークはどれも寿命が短すぎるよ
時代が下って、引き継げる開発者が果たしているかどうか。
0469デフォルトの名無しさんNGNG
>>467
つーことは、
フレームワークを使用するなら、
フレームワークはどんなDBMSにも対応できる
=DBをストレージとして使用する
のがほとんどだから
特にわざわざ高い金出してOracleでなくても
いい、ということでいいかな?

管理面(バックアップ、リカバリ、物理ファイルの増減etc...)
においても、有名どころの他のDBMSも同じようにできるしね。
0470デフォルトの名無しさんNGNG
Oracle が必要なのって結局は安心代でしょ。
Servletとしての基本機能は同じなのに tomcat じゃなくて、weblogic を使うのと同じで。
0471デフォルトの名無しさんNGNG
正直、Torqueだけはやめとけって
なんで日本でこんなに流行っているのかがわからん
0472デフォルトの名無しさんNGNG
>>470
>>427の意見はどう?
0473デフォルトの名無しさんNGNG
既に Oracle の技術者をたくさん抱えてしまっている企業の経営者は、
その教育コストを回収しようという発想になって、
Oracle 以外はダメよっていうだろうな。
0474デフォルトの名無しさんNGNG
>>471

> 正直、Torqueだけはやめとけって
その理由は?
0475デフォルトの名無しさんNGNG
>>472
まあ、しょうがないんじゃないんですか。
なんだかんだいって、実績 >>>>>>> 性能、価格 だし。
まあ、 Oracle は性能はいいんだけど、なにせ価格が・・・。
0476デフォルトの名無しさんNGNG
>>474
透過的でないから。
0477デフォルトの名無しさんNGNG
>>471
じゃ他に何にするの?

HibernateかJDO(CasterJDOとか)絡みかな。

少なくとも日本では認知され初めてるんだから、自分が気に入らない
アーキテクチャーだからって文句付けるのはやめようよ・・・

そういえば、Strutsも最初のうちは叩かれてたね。
0478デフォルトの名無しさんNGNG
>>476
ええ・・・そんなレベルの批判?
0479デフォルトの名無しさんNGNG
>>476
何が?
ぜんぜん分かりません。
あなたはすばらしい知見をお持ちなのでしょう?
もっと詳しく教えてください。それがみんなのためです。
0480デフォルトの名無しさんNGNG
カンケーないっすけど、おまえら、オッパイ好きですか?

オレ様は、世界中の誰よりもオッパイが大好きだ。Dカップぐらいがいい。
0481デフォルトの名無しさんNGNG
>480
Dカップ好きは だいぶお利口
Fカップ好きより いくらかCOOL!
そこまで現実わかっているなら
もうひと頑張りでーす
0482デフォルトの名無しさんNGNG
・今現在、そこにあるプロジェクトを完成させるための手段。
 勝つためなら手段は選ぶな。
・将来DBのチューニングなど、アセンブラでロジックをチューンするような
 無意味なものになっていくことを見越しての、先物買い。EJB鯖が自動最
 適化してくれる…日がくるのかねえ?

後者と前者の主張が混乱してるのかもな。
0483デフォルトの名無しさんNGNG
471ではないが...

>>477
Torqueはアーキテクチャーが気に入らないって言うよりも出来が悪い。それだけ。
あと最近はそうでもないみたいだけど、ドキュメントも不親切じゃない?
フレームワーク云々、再利用云々、技術者の引き継ぎ云々議論するのもいいけど
ドキュメントや資料が貧弱じゃフレームワークとしては致命的のような気が。

それから、Sun JDOとCastorJDOはまったくの別物なのでヨロシク


0484デフォルトの名無しさんNGNG
>>483
>Torqueはアーキテクチャーが気に入らないって言うよりも出来が悪い。それだけ。
おいこら、なんで出来が悪いのか聞いてんだろ?
おまえ、小出しにしておちょくってんのかコラ?
0485デフォルトの名無しさんNGNG
え?トルクなんていまさら使ってるの?(ぷ
0486デフォルトの名無しさんNGNG
>>481
ちょっとなつかしいな。
0487デフォルトの名無しさんNGNG
>>463
考え方が逆だと思うのだが。
DBありき、SQLありきではない。
0488デフォルトの名無しさんNGNG
>>483
>>477なんだけど、JavaWorldで特集が組まれ始めるくらいだから
ドキュメントや資料云々の充実はこれからだと思うよ。
まだ単なる過渡期でしょ。

あと、出来が悪いってのは具体的に何?
今仕事で使ってる限り、それほど問題出てないんだけど。
なんか批判する人の多くが、単に使い方を誤ってる気がする今日この頃…

>それから、Sun JDOとCastorJDOはまったくの別物なのでヨロシク

なんでSunJDOが出てくるのかわからん、JDOの話はしてないべ。
HibernateとCasterJDOを例に出したのは俺が単に使ったことあるから。

0489488NGNG
>JDO(CasterJDOとか)

あ、ここで言ってる?もし理解が不足してたんなら謝るよ。
本題はTorqueの話ね。
0490デフォルトの名無しさんNGNG
つかフレームワークつかっててドキュメントに満足したことないんだけど。
あんまり良いものつかってないせいかもしれんが。
0491デフォルトの名無しさんNGNG
Hibernateマンセー
Torque使ってるヤシは負け犬かチョソ
0492デフォルトの名無しさんNGNG
>>490

monazilla Part 4
http://pc2.2ch.net/test/read.cgi/tech/1042432238/846

皆考えることは一緒って事でしょうかね。
0493デフォルトの名無しさんNGNG
>>491
両方を使いこなせてないなら、お前も負け犬では?
0494483NGNG
>>488
Torqueがまだ過渡期だってのには同意するけど、Hibernateだったら
既に充分すぎるほどのドキュメントが揃ってるわけで。
Torqueは、必要最低限の利用法をカバーしたTutorialと
(シンプルすぎる)User's Guideくらいしかないでしょ?
Undocumentedな部分が多すぎて、挙動を確認するために
逐一ソースを追っていくのがダルいです。
0495483NGNG
で、俺がTorqueの出来が悪いと思っているのは以下の点。
ただ、去年検証してダメ出ししたっきりなんで、間違ってる点や
既に解決している部分もあると思う。それらについては指摘しておくれ。

OUTER JOINがサポートされていない。

JTAに対応してないみたい。

オブジェクトを更新した際、明示的にsave()メソッドを呼ぶか
PeerクラスのdoUpdate()メソッドを呼ぶ必要がある。
→透過的じゃないやん

あらかじめ設定したJDBCコネクションしか使わせられない。

自動生成されるクラスが多すぎる。
クラスFooに対して、FooPeer、BaseFoo、BaseFooPeerって…。
クラスを自動生成する都合上、BaseFooが出来るのまではわかるが。

オブジェクトを1つだけ取得したい場合でもBasePeer.doSelect()に
Criteriaを渡して、結果をリストで取得しなければならない。
これじゃダサすぎ。
List result = FooPeer.doSelect(criteria);
Foo foo = (Foo)result.get(0);

(続く)
0496483NGNG
(続き)

Eclipse用プラグインが無い。
XDocletがTorqueだけサポートしていない(HibernateとCastorは
サポート済)。いちいちマッピングを手書きするのは面倒です。

足周りのVillageがさっぱりメンテされていない。
なんとなく不安。

プロジェクトに組み込む際に必要な下準備が多すぎる。
Hibernateだったら、データクラス毎に*.hbm.xmlを用意して
hibernate.propertiesをクラスパスに置けばOK。

まあ、上記の3つはどうでもいいような気もするが。
0497デフォルトの名無しさんNGNG
JDOを使ったことのある人に聞きたいんだが、
パフォーマンスはどうよ?

いくら過渡期とはいえ、これからパフォーマンスが大幅に
改善されることはないと思うのだが...
0498デフォルトの名無しさんNGNG
>>497
Jakartaもまだ完璧JDOじゃないし・・・
トライアクティブとか言うやつ試したけど

っていうかパフォーマンスの意味わかんない
0499デフォルトの名無しさんNGNG
>>483
いや、だからTorqueの作りがダサいってのは別に否定してないわけで・・・
そもそも、アナタが文句をつけているのはアーキテクチャーの話じゃないの?

「出来が悪い」って、「バグバグで使えない+最低限必要な機能が存在しない」って
意味かと思ってたよ…
OUTER JOINはそもそもView使っとけば良い話だし、JTAに関しては対応せずとも
通常のConnectionを利用したTransaction管理が行えるから、最低限の機能は満たしてる
んじゃないかな。
他はそれこそTorqueのアーキテクチャーに文句をつけてるだけでしょ。

俺もHibernateは好きなんだけど、ほんとに日本でドキュメント充実してると思ってる?
ためしにgoogle[日本語]でHibernate javaとTorque javaの検索件数を比較してみてごらん。
どっちも少ないけど、Hibernateの使い方なんて特に少ないでしょ。
※俺の現場では英語を読もうとしない技術者の人が多いから、とてもじゃないけど
 Hibernateは導入できん。(TorqueはWeb+DBの記事とWebを見せてやらせてる)
0500483NGNG
>>499
例えば、単一のオブジェクトを取得する手段が提供されていないってのは
アーキテクチャレベルの話じゃなくて、作りがダサいってことにならないかな。

それから、俺は日本語のドキュメント云々なんて話はしてないです。
そもそもTorque使おうってのに英語のドキュメント読まないで仕事になる?
だから>>494でも「Hibernateの英語ドキュメント」と「Torqueの英語
ドキュメント」について*のみ*比較してたんだけどなあ。

Torqueマンセーなのは日本の雑誌記事ばっかりで、日本のサイトをぐぐった
限りではTorqueを褒めてるサイトがひとつも見つからないってのが
そのままTorqueの現状を表してるでしょう。
0501デフォルトの名無しさんNGNG
>>500
いや、まあ最初から英語ドキュメントで比較してるのは分かってた
んだけどね…

でも日本での普及って点を考えると日本語ドキュメントで比較するのが
普通でしょ。だから好みがどうあれ日本ではTorqueの方が主流になる
可能性は高いよ。

>そもそもTorque使おうってのに英語のドキュメント読まないで仕事になる?

システムの基本実装する人(アーキテクト)だったら仕事にならない。

でも、個々の限定されたプログラムレベルであれば、Torqueの日本語ドキュメント
程度のものがあれば、十分仕事をすることが可能だと思うよ。

最近の現場は派遣社員の質も含めて相当低くなってるよ。
英語のサイトを見ようともしない人もざらにいる。
だから日本語ドキュメントの充実は技術を導入する上で必須だと思う。
※アナタが少数精鋭の会社にいるんだったらごめんなさいね
 結構俺は短期派遣の若い人と組まされるのが多いので…
0502501NGNG
ちょっと話がORMからはずれてきてしまったので自粛します。

>>500さんに誤解の無いように言っておくと、Hibernateは好きです。
ただ現時点で通常のプロジェクトで使わせてもらえるかは別の話って事で・・・
※2,3人の規模だったら是非使ってみたいと思ってます。
0503デフォルトの名無しさんNGNG
Hibernateも全部日本語化してくれないかなあ。
0504デフォルトの名無しさんNGNG
Criteriaとほとんどおなじアーキテクチャのライブラリは2年程前に作ったな。
俺ライブラリだというのもあったが、かなり楽ができる機能だ。

動的に検索条件を構築するならあのくらい簡潔なほうがいいな。
作るのにかかる労力に比べて、「あると便利度」がかなり高い。
0505デフォルトの名無しさんNGNG
英語を読もうとしないキャツがオープソなんてやるんじゃねーよ。
0506_NGNG
http://homepage.mac.com/hiroyuki45/hankaku10.html
0507デフォルトの名無しさんNGNG
英語読めてHibernateの良さがわかる奴が、日本語の説明文書いてあげればいいのでは?

日本語ドキュメントが無いのを理由に採用を躊躇してしまう事を、怠慢と取るか
不幸と取るかで変わってくるだろうけど、少なくともTorque陣営は、
ドキュメントの日本語化によって、日本での利用者拡大に成功していると思う。

我々は、英語の文章を読むことが仕事じゃないんだし、むしろ、それに時間を
とられて技術的なことをする時間を削らなければならないのは不幸だと思う。
使う人がいちいち翻訳するのが当たり前だから、英語のドキュメントが充実して
いればそれで良しという考え方は違う。
0508デフォルトの名無しさんNGNG
>>505
javaが読めれば問題ない。
0509デフォルトの名無しさんNGNG
で。

うまいことORMでいい感じになったやしはいないわけですか
0510デフォルトの名無しさんNGNG
>>509
VIEW との併用でうまくいくでしょ。
0511デフォルトの名無しさんNGNG
複雑な検索条件は、VIEW+単純な検索条件に整理。
→あとはORマッピングツール任せ。どうせどのツールでも大して変わらん。

が一番すっきり?
0512デフォルトの名無しさんNGNG
viewってなんですか?
この言葉のおかげで話の内容が見えないので誰か教えてください
どうもMVCのViewのイメージがこびりついちゃって・・・
DBのViewってどの部分なんですか?
0513デフォルトの名無しさんNGNG
>>512
ぐぐれ!まずはそれからだ。
MVCの View ではない。
0514デフォルトの名無しさんNGNG
>>513
いや、MVCのビューにかなり近い存在だと思うが。
RDBにおいて、Mが実テーブル、Vがビューでしょ。Cはなんだろ?DMLのSQLかな。

GUIでしかMVCといわないと思ってる人は屁タレケテーイですよ。
0515デフォルトの名無しさんNGNG
>>514
それは観測者が異なるという意味で、違うでしょ?
>>512 はアプリケーション側からの視点で言ってるんだから。
文脈を無視して、屁タレケテーイというのはどうかと。

RDBMSを観測対象の中心にすえれば君の言ってることは正しいと思うよ。
>>512 へは、モデル側から見れば、DBも永続化できるVIEWといえるとか
言っちゃうと混同してしまうかな?

まあ、あれだ。何事も多様性があるってことだ。
0516514NGNG
正直、スマンカッタ。
0517デフォルトの名無しさんNGNG
>>516
いや、いいんだ。

それよりも、>>512 が VIEW も知らんのに仕事になるのかと問いたい。
業務系ではないのかな?
0518デフォルトの名無しさんNGNG
>>512
ViewはViewだ。もっとわかりやすくいうなら外部スキーマだ。わかったか。
0519デフォルトの名無しさんNGNG
>>514
ぜんぜん違う。知ったかスンナ。氏ね。
0520デフォルトの名無しさんNGNG
英語で仕様書も読まないようなキャツはプログラムなんてすんじゃねーよ。
何がJavaさえ読めればいいだよ。
0521デフォルトの名無しさんNGNG
乳首みれた?
http://homepage3.nifty.com/coco-nut/
0522デフォルトの名無しさんNGNG
>>520
そうなんだけど、英語読まない奴そこら中にいるよね。
俺の隣の席のやつとかw
0523512NGNG
いや〜あぶねぇあぶねぇ
おまいらが、あまりにも叩くもんだから
「なによViewって!」
と手元にあるポストグレスキューエルの
本かなんか見ながらView探してたよ
おいおい、かなり重要な機能ではないか
0524483NGNG
>>501
了解です。
俺も、雑誌記事の影響でTorqueが「機能的」にもベストだと
思わされている人たちに「HibernateやCastorもあるよ」と言いたかった
だけなんで、これにて終了ということで。
0525デフォルトの名無しさんNGNG
>>499

>JTAに関しては対応せずとも通常のConnectionを利用したTransaction管理が
>行えるから、最低限の機能は満たしてるんじゃないかな。

ほんと最低限だな。J2EEの中心部分使えないのダサすぎw
今更接続プーリングなし、自前トランザクション管理ですか?

EntityBeanが腐ってるから使いたいフレームワークなのに、
SessionBeanの最大の利点を使えないなんてな。

こんな使い方してWebLogicなんか使ってるプロジェクト
いっぱいあるんだろなぁ( ´ー`)フゥー...
0526デフォルトの名無しさんNGNG
>>525
は?JTAに関してはSessionBean内でTorqueを使えばいいだけじゃん。

接続プーリングはTorque単体でもサポートしてるし、知ってる?
そして何故WebLogicが突然出てくるのかわからん。

( ´ー`)フゥー...イタスギ
0527デフォルトの名無しさんNGNG
ところで Apache OJB(http://db.apache.org/ojb/)ってのは?
これも JDO API をサポートしているようですが。

JDO がよさげで、その実装例のひとつである hibernate がよさそうってのもわかりました。
Apache OJB も JDO の実装例のひとつだと思いますが、こいつはいかがでしょう?
0528デフォルトの名無しさんNGNG
>>527
hibernateはjdo実装じゃないですよ。
Jakarta OJBもjdoってことだとまだまだらすぃ
0529デフォルトの名無しさんNGNG
だから、現時点ではトライアクティブJDOぐらいだな
0530デフォルトの名無しさんNGNG
>>528
いまいち私がよく理解していないのですが、JDO っていうのは規格(仕組み? 枠組み?ここらへんはアバウトですが)
の名前ではないのですか?

たとえばServlet というのは規格の名前であり、その実装例として Tomcat や WebLogic、Resin がある
と思っています。

JDOも規格の名前で、その実装例としてCasterJDO、Hibernate、OJB があると思っていたのですが...
あ、でも http://db.apache.org/ojb/ をよくみたら、

・A JDO compliant API
・full JDO implementation is scheduled for OJB 2.0.

ということで、JDOのフル実装はOJB 2.0 から、とありますね。
だから

> akarta OJBもjdoってことだとまだまだらすぃ

なのか。
0531デフォルトの名無しさんNGNG
>>530
規格というより仕様の気がする。

あと、HibernateはJDOとは別物じゃない?
0532デフォルトの名無しさんNGNG
ちょっと怪しいリスト。

Torque => Criteria
CastorJDO => OQL(ODMG 3.0のサブセット)
Hibernate => 独自SQL、Criteria
Apache OJB => Criteria、QOL(ODMG 3.0)、Sun JDO 1.0(不完全)
KodoJDOなど => Sun JDO

ついでに、Apache OJBは下の方でTorqueを使ってたような気がします。
0533529NGNG
>>531
> 規格というより仕様
あ、そういうこともできますね。というかそういう表現のほうが正しいかも。
Servlet API をみると、ほとんどが java の Interface ですが、
各ベンダはこの Interface をimplements すれば、Interface で宣言されている仕様を実装していることが
保証されているので、仕様にのっとっている、ということもできるでしょう(あくまでもコンパイルレベルですが)。

オブジェクト指向の、正しい「機能と実装」の考え方だな。

JDBC もそうですが、OracleのJDBCドライバのように、サポートに問い合わせてみると「その機能は未実装です」
とか返事が返ってくるのはむかつく。

ちなみに Sun JDO って http://java.sun.com/products/jdo/ のことだよね?
こいつの実装例として、>>532 の Kodo JDO っていうことなのかな?

Hibernate はこれからみてみます。

あと >>530 も私です。
0534デフォルトの名無しさんNGNG
>>530
JDOってのはSunの仕様の名称であると同時に、オブジェクトとデータベースの
マッピング手法の代名詞的な扱いもされているので、仕様であるJDOを指す時は
Sun JDOとかSun's JDOみたいな表記をすることが多いです。

特にCastorJDOなんかは、CastorXMLという兄弟がいるので便宜上JDOを
付けて呼ぶことが多いです。

こう書くとわかりやすいか?
JDOは「RDBMS」
Sun JDOは「SQL92」
CastorJDOは「RDBMSっぽいけど仕様は別なもの」
商用のJDOエンジンは「SQL92フルサポートなRDBMS」
0535デフォルトの名無しさんNGNG
>>534
ぜんぜん
0536529NGNG
>>534
うーん、なんとなくわかってきたような... どうもありがとう。
ちなみに Servlet(の仕様)というと、Sun の Servlet という使用があるわけだが
(Servlet サポートという場合、Servlet API を実装していなければならないですよね?)、

JDO の仕様は Sun の JDO 以外にもあるの?
0537デフォルトの名無しさんNGNG

べつに、細かい話なんてどうでもいい
はっきりいって話題が違う
0538デフォルトの名無しさんNGNG
>>1 >>5 >>10
0539デフォルトの名無しさんNGNG
HibernateをWebアプリで使ってるんですが、いちいち
HibernateのSessionを開いて、閉じて、例外処理を行うあたり、
JDBCをコーディングしているのとそんなに変わらないような
気がします。

この点についてはどう思いますか? Hibernateのサイトでは
フィルターを使って開け閉めを行えばいいみたいなことが
書いてありますが、あまりスマートじゃないような。
0540デフォルトの名無しさんNGNG
>>539
>>1-1000
0541デフォルトの名無しさんNGNG
>>540
>>1-10
0542デフォルトの名無しさんNGNG
>>1-5
0543デフォルトの名無しさんNGNG
TorqueはSQL作ってくれたり、HTMLのDBドキュメントを生成してくれるから
Javaに限定されず、それなりに需要はあると思うんだけど…

Javaでの実装時はHibernateの方がシンプルで良さそうだね。
0544デフォルトの名無しさんNGNG
外部ソース(DBとかファイル)の扱いを、抽象度の高いクラスで
ラップすればいいだけでは?
それだと、Torqueだろうが、Hibernateだろうが、JDBCゴリゴリだろうが、
CSVファイルだろうが、カンケーない。
むしろ、設定ファイルの管理やOuterJoinできませんなんて馬鹿な制限がない分、
JDBCゴリゴリをラップしたほうがシンプル。
ま、俺様フレームワークになることは、確実だと思うが。
0545(゜Jし゜)NGNG
Javaじゃなくて.NetFrameWorkですが、
ADO.Netではこの辺はどんな感じなのでしょうか?

DataSetを持ってきてCommandBuilderにSQL自動生成させて、
ってのは標準でORマッピングっぽいことが出来るような
気がするんですが
■ このスレッドは過去ログ倉庫に格納されています