[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 02/24 23:25 / Filesize : 149 KB / Number-of Response : 521
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2005/12/16(金) 11:54:44 ]
前スレ:
 Java⇔RDBのMapping-Frameworkを語るThre Vol.3
 ttp://pc8.2ch.net/test/read.cgi/tech/1090653286/
過去スレ:
 「Java⇔RDBのMapping-Frameworkを語るスレ Vol.2」(落ち)
 ttp://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 (PoEAA)]
  ttp://www.martinfowler.com/eaaCatalog/

あとは>>2以降


159 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 23:38:41 ]
>>158
ひべるなーて

160 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 23:50:59 ]
>>158
はいばーねいと、でいいんじゃないの?

161 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 00:59:50 ]
冬眠って読むんだよ

162 名前:デフォルトの名無しさん [2006/04/26(水) 14:39:18 ]
>158
はぁい、ばーねいと! (やあ、ばーねいと)

あい、ばーてぃす!(いいえ、わたしはばーてぃすです。)


163 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 14:48:17 ]
カイ! エ〜ン ・゚・(ノД`)・゚・

164 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 14:52:21 ]
ハーイバネット、ハーイバネットぉ〜♪ 夢のハイバーネットたかたぁ〜♪

165 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 19:14:12 ]
Hibernateって、マッピングするときBean指定しないとダメなんですか。
ibatisではHashMapが使用できて、key=カラム名、value=値 で取得可能なのですが。

166 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 22:16:20 ]
いや別にMapが欲しいだけならDbUtilだけでいいんだし....

167 名前:デフォルトの名無しさん [2006/04/26(水) 23:13:32 ]
だれかJavaドメインモデルの実践的な実装を解説した書籍を教えてください。
サービス、ドメイン、DTO、エンティティなど単語はよく聞きますがUML
図ばっかりの本がおおくて実際のソースコードで実感できるものを見たことが
無いので。。。



168 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 23:47:32 ]
>>165
Mapでも取得可能。DOMのElementに値を詰めて返すことも出来る

169 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 00:02:01 ]
ドメインモデルって難しい言葉を意識するから難しく感じるんであって、
要するにあれって「ただのまっとうなオブジェクト」ってことなんじゃないの?

「USERテーブルの行をロードしたデータ」じゃなくて、「ユーザー」という
「もの」を表したオブジェクトって考えようよ、というのがドメインモデルの
ベースにあるところじゃないかと。

オブジェクトだと考えたら、「ユーザーの登録を抹消する」なら「じゃあ
unregisterメソッドを読んだら抹消するってことで」と自然に思うじゃん。
裏でどんなSQL投げようが、ファイル読もうがセッションをごにょごにょ
しようが、抹消してくれればしったこっちゃないでしょう。それがオブジェ
クト指向ってもんだ。

DBを前提に考えちゃうと「ユーザを抹消するってことは、まず関連付けられた
契約レコードをすべて抹消したあと、ステータスをごにょごぎょして、
ユーザーのレコードの削除フラグをオン。それを効率良くするには、関連
レコードをジョインして....」とか考えてしまって、それをそのままべたっと
コードに書いてしまいがち。

オブジェクト指向的には、ユーザーというオブジェクトの「抹消」という
命令を呼び出したら勝手にごにょごにょして抹消してくれりゃいいわけ
で、その抹消メソッドが裏で勝手に契約レコードを抹消してステータス
変更してくれりゃいいじゃん、それがオブジェクトってもんだろ?

契約だってオブジェクトなんだから、ユーザーオブジェクトの抹消メソッド
のなかで、契約オブジェクトの契約解除メソッドよべばいいじゃん。

ってのがドメインモデルじゃないかな。

↓さあ景気良くいこう

170 名前:デフォルトの名無しさん [2006/04/27(木) 00:16:08 ]
> ドメインモデルって難しい言葉を意識するから難しく感じるんであって、
> 要するにあれって「ただのまっとうなオブジェクト」ってことなんじゃないの?

おそらくそういうことなんだろうな〜とは思ってるんですが、「サービス」とか
いうやつの位置付けがようわからんです。なんでも人によると「薄いのが良い」
とかいう意見を見受けますが”じゃなんなんだい!”みたいな


171 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 00:44:03 ]
おれはサービス層については、下のような用途かなあと思う。

・業務的には複数のモデルにまたがった業務処理を一括して行うためにある。
例:発送処理 おそらく「商品」と「発送業者」と「在庫」くらいの複数のモデルが
関わる予感がする。

・プログラム的視点では、トランザクション境界を定めるためにある。
サービス層の一つのメソッド呼び出しが1トランザクションになるようにする、
という感じで。いろんなモデルをごにょごにょした結果、裏でいろんなSQLが
走るわけだけど、それを一つのトランザクションにまとめる、という感じだろうか。

172 名前:デフォルトの名無しさん [2006/04/27(木) 00:58:31 ]
> ・業務的には複数のモデルにまたがった業務処理を一括して行うためにある。
> 例:発送処理 おそらく「商品」と「発送業者」と「在庫」くらいの複数のモデルが
> 関わる予感がする。

EntityやDAOの呼び出しロジックをサービスにまとめるってことで総括して良いん
でしょうか。もっとシンプルに言うなら、ビジネスロジックの担当がサービスなん
だっていうことなんでしょうか。

173 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 01:12:01 ]
データベースアプリを組むときには、ほとんどドメインモデルは必要ない。

174 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 03:01:05 ]
データベースアプリというのが何を指しているのかよくわからないが、
データベースを使ったアプリという意味なら、データベースを使ったアプリで
ドメインモデルを使わなけりゃいつ使うのかと。

175 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 03:23:22 ]
>>172
1行目はそうだと思う。
2行目は微妙。たとえば売り上げオブジェクトの「未回収」メソッドを呼んだら
赤伝オブジェクトが生成されて、台帳オブジェクトに追加されるとしたら、
これは立派なビジネスロジックなわけだが、この処理を書くところはあくまで
「売上」オブジェクトであるべきだよな。
だって「未回収」メソッド呼んだら裏でごにょごにょやる内容が赤伝生成だったり
台帳更新だったりするわけで。

仮に台帳更新をしたらどっかの担当者にメールを送らないといけないとしても、
台帳の更新メソッドが呼ばれたら、メーラーオブジェクトの送信メソッド呼ぶように
してりゃいいわけで、結局外からみれば、売上の「未回収」を呼ぶだけで台帳に
赤伝が入って担当者にメールが飛ぶ、というビジネスロジックが実行される。

だったらロジック実行には売上オブジェクトだけあればOKだよな?
こんな感じで結構な数のビジネスロックはドメインモデル内で実行可能だと思う。

でも処理実行後に、たとえば現在の赤伝数とか、赤伝発行後の売上高だとか
を取得して画面に返さないといけないとしたら、これはあくまでウェブアプリ
ケーションの都合で実行するんであって、ビジネスロジックとは関係ない。
でも同じトランザクション内で赤伝数のカウントしたり、売上高計算したり
しないといけなかったりもする。
となると、サービスとして一つのトランザクション境界としてまとめるのが
一番やりやすいかなあ、と思うな。

まあでもぶっちゃけて言うと、Springとか使うとメソッド呼び出しと応答までを
トランザクション境界にする機能があって便利なんで、それを利用するためだ
けにサービス用意して、サービスを呼び出したら即モデルのメソッド一つ呼んで
終わり、なんてこともある。だってプログラム的にトランザクション制御する必要な
くて楽だからさあ。

176 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 06:41:15 ]
O/Rマッピング使っていると、エンティティに情報があるんだから
ドメインモデルとしてロジックを書きたくなるんだけど
現在のDIコンテナは、ステートレスなトランザクションスクリプトを扱う方が便利だから
そこにちょっとしたズレを感じたりしている
エンティティにストラテジーをDI出来たりするO/Rマッピングツールが出たら便利そうなんだが

177 名前:デフォルトの名無しさん [2006/04/27(木) 09:26:32 ]
Hibernateの遅延ロードで質問
遅延ロードのときのSet型の中身を並べ替えすることは、mappingの定義(order-byアトリビュート)
でできるけど(実際、many側のデータを使った並べ替えはできた)、many側にひもづく別のクラスの
データを使って並べ替える事は可能?

A:B:C  −> A:B=1:n B:C=n:1

Cの「並び順」フィールドの値でBを並べたい、みたいな感じ



178 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 14:22:22 ]
>>168
すんません。
参考サイトとか教えていただけないでしょうか?

179 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 06:17:05 ]
>>178
ttp://www.hibernate.org/hib_docs/v3/reference/en/html/persistent-classes.html#persistent-classes-dynamicmodels

そういや、リファレンスの日本語版はいつまで経っても2.1.6のままだな

180 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 10:31:44 ]
>>179
つ「言いだしっぺ必敗の法則」

ということで翻訳よろしくww

181 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 03:38:19 ]
>>180
つ「言いだしっぺ必敗の法則」

それやると誰も何も言いださんくなるよ。
おれの前の会社がそーだったよ。

182 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 06:43:25 ]
もともとNetNews(それもfj)とかの世界で人を黙らせるための
ものだからな>言いだしっぺ

あれはある意味2chの対極にある世界だった。

183 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 00:51:28 ]
>>181-182
つか、冗談だからw ちゃんと"ww"つけてるじゃん。

というか、前の翻訳は誰がやったんだ?

184 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 01:12:56 ]
最近 2ch のせいで「www」とかいうアドレスをみると
笑えてくる。

185 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 15:15:45 ]
>>184
人生楽しそうですね。

186 名前:デフォルトの名無しさん [2006/05/02(火) 19:19:08 ]
OpenJPA記念カキコ
incubator.apache.org/projects/open-jpa.html

187 名前:デフォルトの名無しさん [2006/05/02(火) 23:31:28 ]
すいません、.NETで申し訳ないんですが、質問させて下さい。
.NETでORMに詳しい人が集まってそうなスレが見当たらなかったもので・・・。

NHibernate Best Practices with ASP.NET, Generics, and Unit Tests
www.codeproject.com/aspnet/NHibernateBestPractices.asp

上のサイトのサンプルに、NHibernateでのOpenSessionInViewパターンの実装例があるのですが、
リクエスト開始時にbeginTransaction、リクエスト終了時にcommitTransactionとsessionCloseを行っています。
この作りだと、もしリクエスト中に例外が発生した場合、Transactionはどうなるのでしょうか?

JavaのFilterと全く同じ仕組みが無いのでこうしてるのかとは思うのですが、これで問題が無いのかどうかがイマイチわかりません。

一応、Session管理クラスの中を見ると、commit時に例外キャッチしたらrollbackするようにはなっているんですが、
Transaction中に例外が起きた場合にcommitが成功してしまうケースってありえないんでしょうか?
それともTransaction中に例外が発生した場合には、必ずcommitで例外が送出される仕組みなんでしょうか?



188 名前:デフォルトの名無しさん [2006/05/03(水) 23:31:55 ]
jarファイルの中のdaoからHibernateを利用しようと考えてるんだけど
マッピングxmlやhibernate.cfg.xmlって普通どこに配置するのがメジャー?

189 名前:デフォルトの名無しさん mailto:sage [2006/05/13(土) 10:40:38 ]
ibatisって、jspみたいに自作のタグを使用できないのでしょうか?

190 名前:デフォルトの名無しさん mailto:sage [2006/05/13(土) 12:20:53 ]
普通にjspのカスタムタグを使えばいいんじゃないでしょうか....

191 名前:JAVA初心者 [2006/05/13(土) 23:44:13 ]
こんにちは。いつもいろいろ教えてくださいましてありがとうございます。
今日はTORQUEに関する質問です。
TORQUEについて、まだ使用経験がないのですが、今度使わなくてはいけなくなりました。。。。
でも、なにせ資料が少ないので。。。。
DBの中でプライマリーキー(ここではID)の一番大きい数をしるのは
そうやってやればいいでしょうか?
たとえば、IDが今は10番まで使われていたとして、その10番というのを
知る方法が知りたいのです。SQLだと、SELECT MAXみたいなので
GETできると思いますが。。。。。
よろしくお願いしますm__m


192 名前:191 [2006/05/13(土) 23:52:50 ]
書き忘れました。
ここから誘導されてきました。

【初心者】Java質問・相談スレッド85【大歓迎】
pc8.2ch.net/test/read.cgi/tech/1147315998/l50

193 名前:デフォルトの名無しさん mailto:sage [2006/05/15(月) 17:44:33 ]
>>190
すいません。ちがいます。
sqlのxmlファイルに、ibatis用の拡張タグを使用できる仕組みになっているかを確認したかったです。

194 名前:デフォルトの名無しさん mailto:sage [2006/05/16(火) 09:57:01 ]
>>193

<!DOCTYPE sqlMap
PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"www.ibatis.com/dtd/sql-map-2.dtd">

195 名前:194 mailto:sage [2006/05/16(火) 10:07:24 ]
連投スマソ

SqlMapClientBuilder#buildSqlMapClientに
velocityを喰わせることは出来るかもね。

やったことないケド

196 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 00:40:11 ]
いつも参考にさせていただいてます。

現在Javaで作成している基幹系アプリケーションで、ランタイム上で
テーブルの作成・修正・削除を行う必要があります。
この場合、O/R Mapping Frameworkは向かないでしょうか?

今のところ、JavassistなどでAnnotation付きのクラスファイルを生成して、
それをHibernateのConfigurationに動的に読み込ませれば良いのでは?
と考えていますが、まだ実現に至らずです。

どなたかノウハウをお持ちでしたら、ぜひ教えてくださいm(_ _)m

197 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 00:45:43 ]
>>196
www.fk.urban.ne.jp/home/kishida/kouza/hibonrails.html



198 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 09:45:07 ]
>>196
> ランタイム上でテーブルの作成・修正・削除

ていうか何そのキチガイ設計。
キチガイが作ったのを引き継がされたの?

199 名前:196 mailto:sage [2006/05/17(水) 22:48:44 ]
お二方、回答ありがとうございます。

>>197さん
提示していただいたリンク先の方法を確認しました。
生成したクラスコードからテーブルを自動的に生成する
必要があります。
そのため、この方法は利用できないと判断しました。

>>198さん
キチガイですいません orz
まだまだ勉強が足りないと痛感してます。

200 名前:196 [2006/05/17(水) 22:49:27 ]
196です。

今回の案件では、ユーザが自由に編集できるクラスと
そのオブジェクトを永続化してRDBに登録するアプリケーションを
作成します。

クラス自体の生成、修正(継承先の変更等)、削除だけでなく、
クラスのフィールドの追加、修正、削除もサポートする必要が
あります。
クラスの編集によって、オブジェクトを格納するテーブルも
修正しなければいけないため、アプリケーション上で動的に
テーブルを操作する方法を質問しました。

できるだけO/Rマッピングツールを使うように言われていますが、
今回の目的だと、素直に動的にSQLを生成して操作した方が
良いような気がしており、エキスパートの方々のご意見を伺おうと
思いました。

個人的には、今回の案件だと、RDBMSの種類やバージョンに
よる方言を吸収して、コネクションプーリングなどを提供する
ツールなら何でもいいような気もしますが、中小の下請けなので
強く言い出せません orz

乱文長文失礼しました。

201 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 23:19:26 ]
ユーザがクラスを動的に生成・変更できるってことは
バイトコード操作使いまくりか…
正直Javaでやるのが間違ってると思われ。いまからLispハッカー
探せ。奴らは毎日そういうことやってる。

202 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 23:20:31 ]
((((((((((((;゚Д゚))))))))))))リスリスプルプル

203 名前:デフォルトの名無しさん mailto:sage [2006/05/17(水) 23:29:43 ]
>>199
データベースさえcreate文で作ってしまえばいいんじゃねぇの?
そしたらあとはマッピングクラス生成してマッピングっていうのをやってくれて望みどおり

204 名前:デフォルトの名無しさん [2006/05/17(水) 23:43:52 ]
クラスをシリアライズしてvarchar2(4000)
くらいの列につっこむようにするとかは?

205 名前:196 mailto:sage [2006/05/18(木) 00:27:31 ]
お騒がせしてます。196です。

>>201さん
すいません、>>200の説明で、大変な御幣がありました。

>今回の案件では、ユーザが自由に編集できるクラスと
>そのオブジェクトを永続化してRDBに登録するアプリケーションを
>作成します。

ここで言うクラスとオブジェクトはJavaのものではなく、OWLのものでした。
先方さんは、
OWLのクラス・インスタンス ⇔ Javaのクラス・インスタンス ⇔ DB
という処理を希望されています。
OWLだと、トリプルの構造をそのままテーブルに格納すれば良いと
思っていましたが、メインは検索処理でインスタンス数が多いそうで、
そのようなテーブルスキーマだと速度が出ないと判断しました。

206 名前:196 mailto:sage [2006/05/18(木) 00:37:18 ]
連投すいません。196です。

>>203さん
DDLだけConnectionを直接取得してSQLで行うことも検討しています。
このとき、対応するマッピングクラスをConfigurationに設定した場合、
既にbuildされたSessionFactoryに変更を反映する方法が分かりませんorz
独自にFactoryの実装を行えば動作しそうな気もしますが・・・

>>204さん
BLOBにシリアライズしたクラスコードとオブジェクトを挿入することも考えました。
この場合、index用のデータをテーブルの別のフィールドに格納しておけば
検索速度も上がるのかなと思いますが、保守やシステムのアップグレードが
大変そうで躊躇しています。

相変わらず長文ですいませんorz
最近謝ってばかりだ…

207 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 00:49:24 ]
OWL? Lispハッカー以上に気の狂った世界に踏み込んでるな。
漏れにはわからん世界だが、RDBMSの性能のことならわかる。

いまのPCの性能で、行数が多すぎて性能が出ないなんて
話は猛烈なレアケース。
いろいろごちゃごちゃ理由がつくんだろうが、RDBMSはごちゃごちゃ機能を
つけてて、必ず対策があるようにできてる。RDBMSのマニュアル調べてみろ。



208 名前:196 mailto:sage [2006/05/18(木) 01:15:01 ]
>>207さん

OWLのクラス階層の編集を可能とするため、上位クラスの変更を下位クラスにも
反映させる必要があります。
また、個々のクラスのインスタンス数は大したことはないですが、想定している
インスタンス数が全体で100万のオーダーであるため、それを一つのテーブルで
OWLのトリプル単位でばらして格納するよりは、クラス単位でテーブルを生成して
そこに持たせた方が良いのでは、と考えました。
(複雑なデータ型の問題ももちろんあります)

O/R Mapping Toolを使わずに、自前で作成した方が良いのかもしれません。
とりあえず、仕様を含めて、RDBMSをもう一度勉強しなおしてきます。
ご指摘ありがとうございました。

あぁ、今夜もクラス階層を構築している夢を見そう orz

209 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 01:21:21 ]
ところでOWLってなに?
腹がよじれた失意体前屈?

210 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 01:56:02 ]
Javaのインスタンスを生成する必要がわからん……

211 名前:デフォルトの名無しさん [2006/05/18(木) 10:39:25 ]
>>205
>OWLのものでした。

BC++のObjectWindows Libraryかと思った

212 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 13:05:54 ]
>>194
本当にすいません。
タグはタグでも、<select>内に書ける<equal>などのタグです。

213 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 13:21:17 ]
>>209
巨乳巨腹のorzです。

214 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 14:03:33 ]
スキーマの緩いXML-DBを使った方がよかったりして。

215 名前:196 mailto:sage [2006/05/18(木) 22:14:30 ]
>>210さん
OWLのクラスをJavaのクラスに、OWLのプロパティをJavaのクラスのフィールドに
見立てようと思っていました。
そうすると、OWLのインスタンスはJavaのフィールド値の集合で表せるかな、と。

>>211さん
OWLはWeb Ontology Languageの方です。
不注意で誤解を与えて申し訳ない。

>>214さん
今回は検索系がメインらしいので、XML-DBだと速度面が不安です。

先方さんの話をよく聞くと、各RDBMSのSQLの方言を吸収できて、かつノウハウが
多く得られるようなミドルウェアなら何でも良さそうです。
何かの記事で読んだC-JDBCとか気になりますが、スレ違いなのでやめておきます。

皆様、お付き合いいただきありがとうございました。

216 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 22:22:06 ]
>>215
OWLってのの具体的な事は全くわからんが、
最初の3行が間違ってる気がするな。

217 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 23:33:54 ]
性能要求が厳しいのにRDBMS依存を避けろ、か…
キチガイの相手は大変だな。
おそらく全部ぐだぐだになって成果物ゼロで終わると思うが、
金はしっかり取れよ。



218 名前:196 mailto:sage [2006/05/19(金) 00:29:06 ]
196です。また来てしまい、すみません orz

>>216さん
OWLのクラスとプロパティのそれぞれに、独自のAnnotationをつける仕様なので、
 (1)OWLのクラスのAnnotation用テーブル
 (2)OWLのプロパティのAnnotation用テーブル
 (3)OWLのクラスとOWLのプロパティの対応情報テーブル
 (4)各クラスのインスタンス用テーブル(カラム名は各プロパティ名)
の4種類のテーブルを作成するように設計しました。
大学出立てで経験が浅いので、どの辺がマズいかはわかりませんorz

>>217さん
汎用性と性能は両立しないのは分かっていますので、そこそこのものを提供しようと
思っています。

情報収集の最中に発見したのですが、Seasarファウンデーション傘下のTuigwaaが
Hibernate使用&DDLサポートとなっていました。
ダイコン?とかよく分からないですが、参考になるかもしれないので今週末の休みに
ソースを読んでみようと思います。

219 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 00:36:42 ]
>>218
>OWLってのの具体的な事は全くわからんが

おまえ日本語読める?

220 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 00:53:12 ]
>>219
顧客がイカレてるせいで、こいつもおかしくなってるんだろう。
金だけはしっかり取れよ。

221 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 01:15:22 ]
>>159
ヒルベルト変換、ヒルベルト包絡線を思い出した

222 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 01:44:03 ]
何が悪いとはっきり言うつもりはないが、もうちょっとまともに検討しないと大火災になるぞ、そのプロジェクト。


223 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 01:51:03 ]
もうなってるようにしか見えないっす

224 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 02:19:36 ]
LDAPとかのがまだマシなような。

225 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 10:31:23 ]
何から何まで不毛な要件で、かつゴールもなんら魅力が無いと来た。
世の中色んな案件あるんだね。

226 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 14:11:21 ]
dbutils結構いいかも。

227 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 14:56:26 ]
Mapに詰め込むだけでもMappingといやーMappingだが



228 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 22:42:45 ]
Beanに詰めることも出来るよ。一応。

229 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 23:15:35 ]
ちんこがBeanBeanでつ

230 名前:デフォルトの名無しさん mailto:sage [2006/05/19(金) 23:51:15 ]
   〃∩ ∧_∧
   ⊂⌒(  ・ω・)  はいはいわろすわろす
     `ヽ_っ⌒/⌒c     
        ⌒ ⌒


231 名前:デフォルトの名無しさん mailto:sage [2006/05/27(土) 13:38:21 ]
Cayenneで部分読みしたいんですがどうすればわかりません。
サンプルが落ちているところをご存知の方いませんか?

232 名前:デフォルトの名無しさん mailto:sage [2006/05/27(土) 19:56:18 ]
>>231
SelectQueryのsetPageSize()じゃ用途に合わないのかな?
Cayenneのページにサンプルがあるよ。

ttp://www.objectstyle.org/cayenne/userguide/perform/paged-queries.html

233 名前:231 [2006/05/29(月) 11:43:03 ]
>>232
サンクス
見てみます。

234 名前:デフォルトの名無しさん [2006/05/31(水) 14:58:57 ]
参照系だけの場合、HibernateとJDBC直書きとどっちがパフォーマンスいいですか?
キャッシュの設定によってはHibernateのが早かったりする?

235 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 19:46:51 ]
ストアド化しろ

236 名前:デフォルトの名無しさん mailto:sage [2006/05/31(水) 22:47:03 ]
つうか素でHibernateのほうが速いだろ。

237 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 01:50:11 ]
それはほとんどない。



238 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 22:10:42 ]
どういう設定をしたら参照がJDBCより遅くなるのかと。あらゆる局面で
lazyオフでキャッシュなしか?

239 名前:デフォルトの名無しさん mailto:sage [2006/06/01(木) 22:27:56 ]
>>238
いくつかは考えられるだろ。
・最初の一回目の検索の場合(Hibernateが該当するオブジェクトをまだロードしていない状態)
・ストアドプロシージャを呼び出す場合(Javaアプリ側でなんとかするより、ストアド使った方が速い場合が多い)

240 名前:234 mailto:sage [2006/06/03(土) 00:48:56 ]
みなさんレスありがとうございます。

ちなみに、バッチ処理で1回のみですがテーブル全件舐めたりします。
1回きりの場合だとHibernate導入するメリット無さそうですね・・・(パフォーマンス面で)。

ストアドである程度書いてJDBCで呼ぶってのが理想的みたいですが、ストアドで作るとメンテできん!って怒られます。
バッチでストアド無しでパフォーマンス高くする手ってなんかないですかね〜・・・。

241 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 11:17:37 ]
バッチ処理でHibernateを利用する理由はほとんど無いな。


242 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 15:39:34 ]
O/R-Mappingでやってることって、結局

・バックグラウンドでSQLを作って投げる
・返ってきたresultsetをbeanに自動的にマッピングしてcollectionに詰めて返す

が本質だよね?
そう考えると、DbUtilとかでも十分なのかな。。。
うちの会社、こういう新しい?技術とかの導入に消極的だし、
新しい知識を積極的に勉強しようっていう技術者も少ない。。。

個人的にはiBATISあたりがよさげなんですが、使ってる人いますか?

243 名前:デフォルトの名無しさん [2006/06/03(土) 16:15:01 ]
キャッシュとか遅延ロードが主なメリットじゃない?

244 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 16:38:13 ]
関連テーブルの紐付けが嬉しい。

245 名前:デフォルトの名無しさん [2006/06/03(土) 16:46:05 ]
今一これの利点が分からないんだけど
いちいちXMLとかに定義しないと使えないわけ?
extends MySQLObjectとかしてささっとプロパティだけで完結して欲しい。

246 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 17:12:28 ]
>>242
関連テーブルを自動的に取ってきてくれるという重要な機能が
あるでしょ(これはDbUtilにはない)。

247 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 17:15:40 ]
>>245
つ 無定義Hibernate
ttp://www.fk.urban.ne.jp/home/kishida/kouza/hibonrails.html

俺の場合はCayenneを使ってDBのDDL作成とマッピング定義作成を
Cayenne Modelerで同時にやっちゃうので、ORマッパーを使ったからと
いってそんなに負荷は変わらない感じ。



248 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 17:25:55 ]
最近はどこのO/Rマッパーもテーブルからのクラス自動生成機能持ってる
JPA使えばXMLファイルはもういらない

249 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 17:33:59 ]
>>247
ふーん。いいね、組み込みDBとかで気軽に永続化できるようになると
ゲームとかも作りやすくなっていいかなぁ

250 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 19:05:00 ]
>>245
MiddlegenでもXDocletでも、Hibernate Annotationでも、好きなの使え。

251 名前:デフォルトの名無しさん mailto:sage [2006/06/08(木) 22:05:18 ]
JPAの解説記事少ないなあ。
みんなxmlでしこしこやってるの?

252 名前:デフォルトの名無しさん mailto:sage [2006/06/08(木) 23:30:24 ]
>>240
いまPro EJB3を読んでるところだと思われ。
でもなんでそこでxmlが出てくるのかわからない。

253 名前:デフォルトの名無しさん mailto:sage [2006/06/09(金) 10:14:29 ]
>>251
Java Persistence APIってなんなの?

254 名前:デフォルトの名無しさん mailto:sage [2006/06/09(金) 10:26:06 ]
ORまっぱの仕様

255 名前:デフォルトの名無しさん mailto:sage [2006/06/09(金) 11:20:29 ]
>>254
jspタグライブラリでも使用できるらしいけど。
ってことは、jspでDBアクセス用ってことか・・・。不要じゃん

256 名前:デフォルトの名無しさん [2006/06/09(金) 16:54:17 ]
それはJPAを使うタグライブラリのこと
JPAの仕様とは関係ない
JPAは、HibernateやTopLinkを元にしたO/Rマッピングの標準仕様のこと

257 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 18:42:38 ]
>>255
JSPタグライブラリにJDBCタグライブラリがあるが、JDBCはJSPでDBアクセス用か?



258 名前:デフォルトの名無しさん mailto:sage [2006/06/10(土) 20:18:24 ]
そう。

259 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 13:51:28 ]
アホな流れになってるな。
子供か!!






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<149KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef