- 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以降
- 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 ]
- アホな流れになってるな。
子供か!!
- 260 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 16:52:36 ]
- そう。
- 261 名前:デフォルトの名無しさん [2006/06/13(火) 22:09:47 ]
- Hibernate2xで関連テーブル使ってmany-to-manyでマッピングしてる時、bagとかのwhere属性で関連先のテーブルのカラムに対する条件って書けますか?
普通にカラム名と条件書くと関連テーブルにそんなカラムねーよ!!って怒られちゃうんですが・・・。
- 262 名前:デフォルトの名無しさん mailto:sage [2006/06/14(水) 07:18:09 ]
- 能動的にコーディングできるってだけで、O/Rマッパーはチューニングに向いてないんだな
- 263 名前:デフォルトの名無しさん mailto:sage [2006/06/14(水) 09:18:08 ]
- 少なくとも、困ったときに直にSQL書いて実行できるようなフレームワークじゃないと、
使えないなあというか使うの怖いなあ。 まあそのときだけJDBC使えって話はあるけど。
- 264 名前:デフォルトの名無しさん mailto:sage [2006/06/14(水) 10:19:43 ]
- Hibernateは問題ないな。
- 265 名前:デフォルトの名無しさん mailto:sage [2006/06/14(水) 10:26:34 ]
- >>263
ibatis
- 266 名前:デフォルトの名無しさん mailto:sage [2006/06/14(水) 11:37:06 ]
- でも直に書けるフレームワークは、普段から直に書く様に成って、後で困る罠。
- 267 名前:デフォルトの名無しさん mailto:sage [2006/06/14(水) 17:14:33 ]
- >>266
そういう開発者、いそうだね。特に新規に導入するとき、わからない→直書きってされそう
- 268 名前:デフォルトの名無しさん mailto:sage [2006/06/14(水) 23:34:39 ]
- でもハマった時の最後の手段として、SQLとかJDBC APIとかとも上手く連携してくれるのがいいなぁ。
プログラマとしては逃げたくなくても、サラリーマンとしてそういう手段に逃げちゃう時が多々あるんで・・・・・・。
- 269 名前:デフォルトの名無しさん [2006/06/17(土) 11:50:26 ]
- Hibernate3とEJB3、これから作るシステムに入れるならどっちがおすすめ?
- 270 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 11:51:43 ]
- 今までどおりの使い分け
- 271 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 11:57:00 ]
- ゲームで使えそうなORMはHibernateくらいかい?組み込みたいのでオススメを聞きたい
- 272 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 14:51:30 ]
- >>269
EJB3を使ってJPAの実装としてHibernateを利用
- 273 名前:デフォルトの名無しさん mailto:sage [2006/06/17(土) 14:52:33 ]
- >>271
つうか、これからはJPAという標準になるんだから、ゲームで使うくらいならTopLinkもHibernateも大差なかろう。
- 274 名前:269 mailto:sage [2006/06/18(日) 01:32:50 ]
- >>270
今までEJBって使った事ないんですが、使い分けってどんな基準ですか? >>272 なるほどー。 使い分けってよりJPAの実装としてHibernateを選択って感じなんですね。
- 275 名前:デフォルトの名無しさん mailto:sage [2006/06/18(日) 02:45:06 ]
- >>274
いままで使ってなかったのはEJB2 EJB3とは別物。 ORマッピング使うなら、EJB3で十分。 実質的にはHibernateの仕様がEJB3になったわけだから、EJB3とHibernateをどう使い分けるかということが、そもそもナンセンスということになる。
|

|