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 以降
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をどう使い分けるかということが、そもそもナンセンスということになる。
276 名前:デフォルトの名無しさん mailto:sage [2006/06/18(日) 02:57:00 ] >>275 リモートで呼び出せるかどうかのみ違う。 使い分けはそこだけかな。
277 名前:デフォルトの名無しさん mailto:sage [2006/06/18(日) 03:02:14 ] JPA仕様とそれぞれのORマッパーって結構違うんじゃない? Hibernateについては同感だけど。 たとえばCayenneもJPAをサポートするといって準備しているけど、Cayenneの 発想とJPA(Hibernate)のやり方(というか考え方)って結構違うように思う。特に トランザクションを意識させない設計とか、どうすんだろ、と思う。 TopLink(Grassfishに組み込みのやつ)とかはどうなんだろうか。
278 名前:275 mailto:sage [2006/06/18(日) 03:47:22 ] >>277 HibernateもCriteriaとかProjectionとかがEJB3に取り入れられてなくて残念なんだけど、ORマッピングのプログラムインタフェースの部分だけを見ればJPA準拠ならHibernate互換ということになるんじゃないかな、と思ってます。
279 名前:275 mailto:sage [2006/06/18(日) 03:53:08 ] >>277 重箱の隅だけど、GlassFishね。草みたいな魚じゃなくて、ガラスみたいな魚。 TopLinkは、JPAの実装として使う限りでは、個性を感じない。 もちろん、どのJPA実装も、JPAの実装として使う限りでは個性を感じないというのは当たり前の話ではあるんだけど。
280 名前:デフォルトの名無しさん mailto:sage [2006/06/18(日) 05:50:23 ] パフォーマンスの差とかあるのかな?
281 名前:275 mailto:sage [2006/06/18(日) 08:08:21 ] それぞれの固有の機能を使わない限りは、無視できるほどの違いしかないと思う。 でも実測値がほしかったら、実サーバーで確認するのんが確実
282 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 23:13:24 ] Hibernateが特許侵害だとよ。 ttp://japan.cnet.com/news/ent/story/0,2000056022,20157827,00.htm >テキサス州の連邦地方裁判所に今週提出された訴状によると、 >原告のFireStar Softwareは、JBossのHibernate 3.0が同社の >「オブジェクト指向ソフトウェアを用いた、リレーショナルデータベースの >リンクに関する特許」を侵害していると主張しているという。
283 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 01:49:42 ] >>282 特許侵害しているとして訴えられただけだろう。 まだまだ一方的な主張の段階。 「特許侵害だとよ。」は風説の流布に当たるおそれがあるから注意。 断定は判決が出てからに汁。 よくあるアメリカ流のふっかけ・ゆすりと推測してみる。 うまく行けば和解金ふんだくれるもんな。
284 名前:デフォルトの名無しさん [2006/07/04(火) 21:10:50 ] 時給1000円でJava教えてくださるかたを募集します 場所 所沢(池袋・高田馬場から直通) i−want−to−study−java@hotmail.co.jp (アドレスは全角で書いてあるので半角に直してください) よろしくおねがいします
285 名前:デフォルトの名無しさん mailto:sage [2006/07/04(火) 23:56:57 ] >>281 すでに「おい、そのころには既にEOFがあったわけだが。 そのEOFにすら先行技術があるんだが?」と冷静なツッコミが 入っとるよ。
286 名前:デフォルトの名無しさん mailto:sage [2006/07/05(水) 05:13:30 ] BerkeleyDB Java Editionつかってます
287 名前:285 mailto:sage [2006/07/05(水) 09:03:31 ] アンカーミスった。 >>282 だった。
288 名前:デフォルトの名無しさん mailto:sage [2006/07/10(月) 22:01:42 ] SimpleORM www.simpleorm.org/whitepaper.html whitepaperを眺めてみたらいい感じ。 クラスに定義したメタデータからテーブルを作ったりできるらしい。 新規開発にしか向かないかな?
289 名前:デフォルトの名無しさん [2006/07/17(月) 21:22:59 ] 教える対象は超初心者です。 専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
290 名前:284 [2006/07/17(月) 21:28:22 ] 教える対象は超初心者です。 専門学校などでJavaを勉強されていて夏休みだけ教えたいという方も歓迎です
291 名前:284 mailto:i-want-to-study-java@hotmail.co.jp [2006/07/17(月) 21:46:20 ] いきなり缶詰ー>架空請求スパムの送信
292 名前:デフォルトの名無しさん mailto:sage [2006/07/18(火) 01:36:11 ] 亜米利加の特許は先発明制だから、いくらでも先行特許あるよ。
293 名前:デフォルトの名無しさん [2006/07/18(火) 03:38:48 ] >>290 = >>291 自分でマルチして、自分で突っ込んでる
294 名前:デフォルトの名無しさん mailto:sage [2006/07/18(火) 18:28:56 ] HibernateのHQLで select sum(*) の返り値を IntegerじゃなくてLongで取得したいのですが、いったいどうすれば…
295 名前:デフォルトの名無しさん mailto:sage [2006/07/18(火) 20:19:24 ] >>293 IDも出ない板でよく言うよ
296 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 01:07:07 ] >>294 ttp://opensource.atlassian.com/projects/hibernate/browse/HHH-1538 3.2での対応になる
297 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 02:32:50 ] >>296 ありがとうございます 丸一日、試行錯誤してしまいましたが 3.2.CR2入れることにします…
298 名前:デフォルトの名無しさん mailto:sage [2006/07/22(土) 09:36:29 ] 知らぬ間にこんなの追加されていた。 アノテーションにSQLを書くみたいだが。 ttp://download.java.net/jdk6/docs/api/java/sql/DataSet.html
299 名前:デフォルトの名無しさん mailto:sage [2006/07/22(土) 11:01:44 ] BeehiveのJDBC Controlみたいな感じか。
300 名前:デフォルトの名無しさん [2006/07/23(日) 02:09:26 ] 俺も同じようなコンセプトの Object/SQL mapper を作っているのだけれど、標準に搭載されるようじゃ用無しだなこりゃ。アハハ こういうのなんだけどさ。 @SQL(value = "SELECT * FROM dept", bean = Dept.class) public abstract List<Dept> readAll(); @SQL(value = { "UPDATE emp SET salary = salary - {#arg[2]} WHERE id = {#arg[0].id}", "UPDATE emp SET salary = salary + {#arg[2]} WHERE id = {#arg[1].id}", }, type = TYPE.UPDATE ) public abstract void moveSalary(Emp from, Emp to, int price); 完成したら公開しようと思っていたのだけれど、微調整したら公開しちゃおう。エヘヘ
301 名前:デフォルトの名無しさん mailto:sage [2006/07/23(日) 09:05:28 ] >>300 標準のは、CachedRowSetを使っていて、CachedRowSetはJDBCドライバの対応が 必要だから、存在価値としてないわけじゃないと思うけどね。 しかし、どうせなら誰か.NETのDataSetをそのまま実装して欲しいな。 NinjaVAが実装しているけど、DataSetのソースが5000ステップくらいあるのと 微妙に違うので、いまいち使いづらい。
302 名前:デフォルトの名無しさん mailto:sage [2006/07/26(水) 23:40:17 ] >>300 公開期待してます。
303 名前:デフォルトの名無しさん mailto:sage [2006/07/28(金) 00:40:27 ] Hibernate Annotationで質問があります。 簡単なサンプルを作成して実行してみたところ以下のようなエラーが出ました。 Exception in thread "main" org.hibernate.MappingException: Unknown entity: sample.Employee そこでhibernate.cfg.xmlから<mapping package="sample"/>と<mapping class="sample.Employee"/> のタグを削除してnew AnnotationConfiguration().configure().addClass(Employee.class)と したところ問題なく実行できました。 この場合どこが悪くて最初の方法で実行できなかったのでしょうか 使用したライブラリのバージョンは下のやつです。 hibernate-3.2 hibernate-annotations-3.2.0.CR1
304 名前:300 [2006/07/28(金) 01:33:19 ] とりあえずサンプルをちゃんと動くようにして、上げました。 BSD License です。 sourceforge.jp/projects/crudfactory/ すいません、ドキュメントが一切ないです。サンプルのソースを見て下さい。 ognlとcglibが必要です。 こちらでは以下のバージョンで動かしています。他で動くかはわからないです。 サンプルを動かすには hsqldb が必要です。1.8.0 を使っています。 cglib-nodep-2.1_3.jar ognl-2.6.7.jar まだ無い機能、やってないこと ログを取る機能 しっかりしたエラー処理 HSQLDB以外での動作確認 ドキュメントを書く もっとしっかりしたサンプルを書く ソース内のコメント SQLの中の {#arg[0]} の部分。ここの {} の中に ognl が記述できます。methodの引数が arg という配列に入ってます。
305 名前:300 [2006/07/28(金) 01:43:02 ] 補足事項 hsqldbで CREATE TABLE dept ( id INTEGER NOT NULL IDENTITY, name VARCHAR NOT NULL, PRIMARY KEY(id) ); としていて、 INSERT INTO dept (name) VALUES ('name'); としたら、id列に値が自動で入ります。 この時id列に入った値を、取り出してbeanにセットしようとしています。 id列に入った値を取り出す方法が、RDBMSによってマチマチ?なようです。 で、とりあえず、SQLアノテーションのtypeというパラメータで使い分けるようにして、 INSERTした直後にCALL IDENTITY()とやって、その値をセットする方法を、CREATE_IDENTITY PreparedStatementでINSERTしたあと、PreparedStatement#getGeneratedKeysする方法を、CREATE_GENERATE INSERTしっぱなしでbeanに値を入れるのを放棄する方法を、CREATE としてますので、使う人は使いわけて下さい。 IDENTITYを設定した列が2コあったらどうなるんだ?とか、まとまり切っていませんので。
306 名前:300 mailto:sage [2006/07/28(金) 01:44:30 ] 始めてオープンソースでソフトを公開しました。 ドキドキしています。
307 名前:デフォルトの名無しさん mailto:sage [2006/07/28(金) 01:54:41 ] 早速パクって儲けさせていただきました。無料で公開してくれてありがとう。