- - PR -
プロジェクトで採用しているデータベースへのアクセス方法(OR Mapping)
«前のページへ
1|2|3
| 投票結果総投票数:138 | |||
|---|---|---|---|
| JDBC | 83票 | 60.14% | |
| EJB | 19票 | 13.77% | |
| Torque等のオープンソース | 15票 | 10.87% | |
| 市販のORマッピングツール | 0票 | 0.00% | |
| 独自で開発したフレームワーク | 19票 | 13.77% | |
| その他 | 2票 | 1.45% | |
| |||
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-09-27 13:31
とんびさん wrote: -----------------------------------------------------------
自分が、ORマッピングツールマッピングツールに求めるものは 1.SQLに慣れてるとsql直接たたいたほうが、わかりやすい&早いのでSQLは隠さないでほしい。 2.ResultSetからBeanへの移し変えは面倒なので、自動or設定ファイルでやってほしい。 ----------------------------------------------------------------------------- そうですね、私もそういうことで独自ツールを使ってます。 昔、あるプロジェクトでSQLを隠蔽して初心者にも使いやすいようなライブラリーを使っていましたが、ちょっと複雑な事をしようとすると、直ぐに破綻してSQL文が渡せるような関数が追加されて・・・ というような経験をしました。 それに、そのツール固有の複雑・怪奇な メソッドとか あと、このツールは 円(¥)型とか、カタカナ型とか、アプリケーションよりの型をサポートしていて、表示の際の形式変換とか、入力の際の変換、チェックを行う機能を持っていています。 たくさんカラムのあるレコードを表示したり、入力したりするようなアプリがスッキリとかけます。 入出力の際に変換とかチェックの関数を呼び出だすのも、案外バカにならないコードになるし、単純作業なので つまらないミスをしたりというのが 防げます。 仕様変更でレコードのカラム追加されるとかいう事はよくありますしね。 まだ、他の方の使って頂けるような完成度になっていないので(使い方に制限がある、ドキュメントやサンプルが無い) オープンにする気はないのですが、ひょっとしたら・・・ | ||||||||
|
投稿日時: 2003-09-29 09:13
いえいえ、笑っていただけて幸いです。(笑)
私もそうだと思います。 今自信をもって出せる技術で、安心なものを提供できれば それでいいと思います。 | ||||||||
|
投稿日時: 2003-09-29 09:28
私のお勧めは「プロフェッショナルEJB」です。 http://www.cbook24.com/bm_detail.asp?sku=4844316508 お値段6980円で、私の蔵書の中では最高額です。 | ||||||||
|
投稿日時: 2003-09-29 10:01
おはようございます。
>「その手前で分散されると困る」とあるのですが、これはどのようなケースでしょうか。 んーとですね。 モノ(製品)によるのですが、業務ロジックが長くてデータのやりとりが往復で発生する システムの場合、困ることがあります。 例えば、フロント側から、Web+APサーバー、EJBサーバー(複数)、DBサーバ ーと3階層になってたとします。(DBは一台) ここで、DBが単発のトランザクションしか発生せずに、基本的にロールバックの必要が ない場合は、特に問題がない場合が多いです。 しかし、DB側で初期化等の処理が必要な場合、セッションやトランザクションとして相 手マシンを意識する場合があります。 最初にEJBサーバーAからDBに初期化が起こり、セッションを張って、その後でEJ BサーバーBからDBのデータを取ろうとしても、DB側でエラーになったりします。 ただのエンティティのような感覚で使っているとこのような話はあまり関係ないですが、 古い? 設計を持つDBを使っていたり、APIのラッピングがなされていたりすると、 どこから接続しても同じ、ってワケにいかないことがあります。 下層で独自のセッション管理が行われている場合ですね。 また、このような場合のエラーをどう管理するか、などのことを考えると、耐久性の向上 も割と奥が深いテーマです。 特にどこかに非同期の処理があったりすると、処理が途中で落ちた場合にどうするかとか 結構悩みます。 IIOPで通信エラーになってしまった場合、DB側のセッション開放ができないとか。 こんな感じのことで、まだ、分散は躊躇することが多いですね。 2003サーバーのクラスタリングでできないのかなーとか、色々考えてまふ(^^;; | ||||||||
|
投稿日時: 2003-09-30 06:40
おはようございます。
ウラタンさん ご説明していただきありがとうございます。 ただ、今の私の経験、スキルではウラタンさんのおっしゃりたいことの 数パーセント(限りなく0に近い^^;)しか理解できてないのが 正直なところです。 分散ってやっかいそうだなあとは感じました。 今回、いろんなエンジニアの方のご意見を聞くことができて、 とても楽しかったです。 明日から、いよいよJavaでのWeb開発プロジェクトに参加することになったのですが、 前向きにがんばっていきたいと思っています。^^ ありがとうございました。 | ||||||||
|
投稿日時: 2003-10-01 16:25
こんにちは。
書籍名がわかりました。 「実践J2EE システムデザイン」ソフトバンク、6500円 です。 http://www.amazon.co.jp/exec/obidos/ASIN/4797322888/249-7620534-8349127
私も持ってます!!!^^ ちなみに私が購入した最高額の技術書は、 「Active Server Pages 2.0」ソフトバンクで 9,500円です!!! 今とはなっては開くこともなくなりましたが、 ASPが騒がれ始めた頃、ここまで詳しく解説している本は 他になかったので思わず購入したんだと思います^^; ちなみにお薦めでもなんでもありません^^; | ||||||||
|
投稿日時: 2003-10-04 18:47
struts-userメーリングリストでも似たようなトピックが
盛り上がってますね http://www.mail-archive.com/struts-user%40jakarta.apache.org/msg82572.html | ||||||||
|
投稿日時: 2003-10-25 12:50
僕が参加してるプロジェクトの独自のORマッピング的なものを紹介します。
ORマッピングというほどのものではなくDBアクセスライブラリといったところですが、 Connection,PrePareStatement,ResultSetをラッピングした Query系とUpdate系のクラスを作りました。これらをインスタンス化した時点で 接続、ステートメントの取得をします。以下のような感じです。 EJBデザインパターンのData Access Commandパターンを継承しないで 使用する感じです。 MultiRowQuery query = null; try { query = new MultiRowQuery(sql); query.setString(1, empChuCd); query.execute(); ArrayList list = new ArrayList(); while (query.next()) { String dai = query.getString("emp_dai_cd"); String chu = query.getString("emp_chu_cd"); String sho = query.getString("emp_sho_cd"); String empCd = dai + chu + sho; EmpShoriKubunVO data = new EmpShoriKubunVO(); data.setEmpCd(empCd); data.setEmpName(query.getString("emp_name")); list.add(data); } EmpShoriKubunVO[] datas = new EmpShoriKubunVO[list.size()]; list.toArray(datas); return datas; } finally { if (query != null) { query.release(); } } こんな単純なものでも結構開発は順調に進みましたよ! 直接JDBC書くより全然いいですよ! | ||||||||
«前のページへ
1|2|3
