1read 100read
2012年6月プログラム435: Java⇔RDBのMapping-Frameworkを語るスレ Vol.5 (933)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
文字コードの種類は何故複数あるのでしょうか? (339)
プログラムできないやつが適当に話を合わせるスレ (753)
日本語プログラミング言語『なでしこ』スレ5 (794)
関数型言語Part5 (857)
【上流社会】MSDNサブスクリプション総合【最先端】 (617)
強いAI(人工知能)ver0.0.1 (889)
Java⇔RDBのMapping-Frameworkを語るスレ Vol.5
1 :08/09/06 〜 最終レス :12/06/17 前スレ: Java⇔RDBのMapping-Frameworkを語るスレ Vol.4 ttp://pc11.2ch.net/test/read.cgi/tech/1134701684/ 過去スレ: 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-5 ぐらい
2 : ●O/R-Mapping Framework各種 [HYBERNATE] ttp://www.hibernate.org/ [Cayenne] ttp://cayenne.apache.org/ [Torque] ttp://db.apache.org/torque/ [iBATIS - SQL Maps] ttp://ibatis.apache.org/ [Java Ultra-Lite Persistence (JULP)] ttp://julp.sourceforge.net/index.html [Jakarta Commons DbUtils](O/R-Mappingというよりは、O/R-Bridge) ttp://commons.apache.org/dbutils/ [Amber - Lightweight Java R/O Mapping Framework] ttp://sourceforge.net/projects/amber-db [GlassFish / EJB3.0 ReferenceImplemention ] ttps://glassfish.dev.java.net/ [S2Dao] ttp://s2dao.seasar.org/ja/
3 : ●その他関連情報・ツール [JoSQL] JavaオブジェクトをSQLで操作 ttp://josql.sourceforge.net/ [SQL Generator] Javaでお手軽かつ動的にSQLを生成する ttp://sourceforge.jp/projects/sql-generator/ データベース開発をサポートするプラグイン (Eclipse用) ttp://itpro.nikkeibp.co.jp/article/COLUMN/20071015/284575/
4 : >>1 乙!! ひとつ紹介させてね。 [activeobjects] ttps://activeobjects.dev.java.net/
5 : >>1 おつです 他にもまだまだあるようで ttp://db2.jugem.cc/?eid=1421
6 : Hibernateの、HQLを使用した、自然キーを持つテーブル(クラス)の 結合に関して質問したいんだけど、それってここでいいの?
7 : すいませんあげてしまいました・・・ごめんなさい
8 : 新規の質問はあげるのが普通じゃね? いいと思いますよ。
9 : ありがとうございます。 それでは質問します。 EclipseとStruts2フレームワークを使用して、開発を行なっています。 Struts2に付属?していたHibernateを用いて、簡単なワークフローを実現する、 Webシステムを開発しようとしています。 申請テーブル +ユーザID +作成年月日 +申請種別 −承否認期限日 申請先テーブル +ユーザID +作成年月日 +申請種別 +申請先順番 −申請先ユーザID −承否認状況 (テキストでの記述の方法がよく分からなかったため、+が主キー列、−が普通の列です。 外部参照等は設定しておりません。) 最低限の構造に絞った物ですが、上記のような構造のDBテーブルがありまして、 このテーブルを用いて「現在自分に来ている申請の、"承否認期限日"一覧を表示する」画面を 作成しようと思っています。
10 : HQLでなく、SQLで実現するのであれば、下記のようなSQLが必要であると考えています。 SELECT A.承否認期限日 FROM 申請テーブル as A, 申請先テーブル as B WHERE A.ユーザID = B.ユーザID AND A.作成年月日 = B.作成年月日 AND A.申請種別 = B.申請種別 AND B.申請先ユーザID = '自分のユーザID' これをStruts2のHibernateを用いて実現したく、現在、DBとマッピングされるクラスは、 申請テーブルを表すクラス、申請テーブルの主キーを表すクラス、 申請先テーブルを表すクラス、申請先テーブルの主キーを表すクラス の4つがあります。 テーブルを表す2つのクラスには、主キーを表すクラスを格納するための フィールドを作成済みです。 このクラス構成で、SQLをHQLに置き換えた処理を記述したいのですが、 結合するフィールドが別のクラスにあるため、どのように記述していいのか分かりません。 Hibernateを用いるのであれば、XML内に、結合に関する定義が必要であるような気がするのですが、 どのように記述すれば、別クラスにあるフィールドの結合の定義になるのかが分かりません。 XMLで、複合主キー(自然キー)を用いたクラス同士のフィールドの、 結合のための定義方法について、どなたかご教授願います。 また、どこか根本的に間違っている部分があれば、指摘を頂きたいです。 よろしくお願いします。
11 : >>9-10 > Hibernateを用いるのであれば、XML内に、結合に関する定義が必要であるような気がするのですが、 正解。サンプルから調べるのがいいかな ttp://www.hibernate.org/hib_docs/v3/reference/en/html/example-mappings.html#example-mappings-composite-key 関連のマッピングができればHQLでは関連名を指定するだけ。
12 : 公式ドキュメントのcomposite identifiers辺りを参照 http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#components-compositeid ただし、複合主キー使うDB構成にHibernateを使うのはあまりお勧めしない Hibernateはあくまでも外部キーによる結合を前提とした挙動をするから 後々ハマるポイントが出てくる
13 : ありがとうございます、参考に致します 英語は糞苦手ですが頑張って読みます >>11 関連名をHQLで指定する!?その発送は無かったです クリティカルなサンプルありがとうございます、 参考にします >>12 本当は人工キーに変更したいのですが、 今更そんな事も言えず・・・というか、 むしろHibernateを使用したくないのが本音です 勉強だと思って頑張ります ところで、現在、英語が苦手な私は ttp://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/ja_JP/html/Hibernate_Reference_Guide/index.html ここを参考に作業をしているのですが、 このページの信頼度はどの程度のものなのでしょうか? 公式と比べて遜色ない物でしょうか?
14 : >>13 それ公式だから。
15 : >>14 まじですか。 公式っぽいなぁとは思いつつ、確証持てなかったんですが・・・ ありがとうございます、自信を持って参考にします
16 : >>5 これ使ったことあるん? あるなら感想というか使い心地を聞きたいなあ
17 : アンカーミスった >>4 です、すいません
18 : activeobjectsってHIBERNATEとかに比べると簡単だったよ。 ただトランザクションの宣言方法が独特だった気が…
19 : あれー? S2JDBCはー?
20 : なにそれ 使えんの?
21 : >>20 今の流行。俺の中でw Hybernate ↓ S2Dao ↓ iBatis ↓ S2JDBC(今ここ)
22 : その流れでS2JDBCにたどり着くっててところがおもろいが 4つの中でどれが一番覚え易かった?
23 : いまはS2JDBCかなー でもちゃんと規約作った方がよさげ。 自分で規約を作れないならS2Dao。 規約作れなくても楽がいいっていうならS2JDBC。 仕組み的にはiBatisが一番分かりやすいけど、 タグ覚えなきゃならないのとタグにクセがある部分があるのが ちょっといやなところがある。 まあ、Seasar使えないならiBatisしかないけど。 Hybernateは無い。
24 : S2JDBCやLINQみたいなものは良いんだけどさ〜。 でも、分かっている人達だけでやる時用っていう気はするんだよね。 スキルが色んな人達が集まっている環境で、最低限の品質を保とうとすると 結局DAOパターンに落ち着いてしまったり。 iBatisも3.0になって、interfaceベースでのConfigurationが出来るようになると 嬉しいかな? そしてHibernateは無い。
25 : Hybernateが無いのは同意 規約は無くても、作ってたら自然と規約っぽくなっちゃわない? でも複数人でやるときは やっぱS2Daoのほうがいらぬ心配しなくていいのか
26 : Hybernateはないよな
27 : たしかにそんなプロダクトはないな
28 : 無い理由は? 覚えること多すぎというのはわかる あと、Hibernateな
29 : 開発や企画を押さえ込めるスーパーエンジニアががっちりドメインモデルを作って 仕切ってるような場合はhibernateはいいんだけど、そういうのはまずありえないから。
30 : EclipseLinkは?
31 : >>30 O/Rマッパの主力かと EclipseとNetBeans、JDevの積極的なサポート アプリケーションサーバーもGlassfishV3で標準になるし Oracle製品も標準搭載してくるでしょ なんだかんだいってもJPAはツールのサポートが一番優れてるから便利 標準APIは強いな
32 : >>28 > あと、Hibernateな >26はその意味。分かりにくいけどyは全角なんだぜ
33 : S2JDBC、OpenJPA は、ともに JPA の実装のひとつという理解であってますか? あと、ほかに JPA ができる実装として、(ググってキーワードだけ見つけたので実際に使ったことはないのですが) を見つけました。 Hibernate + Hibernate Entity Manager TopLink JPA Hibernate Entity Manager を使えば、Hibernate を JPA チックに使えるってこと?
34 : S2JDBCはJPAの実装じゃないよ
35 : >>33 S2JDBCは違う。あれは見た目JPAに似ているが完全な独自。 >Hibernate Entity Manager を使えば、Hibernate を JPA チックに使えるってこと? そういうこと。 Hibernateを採用した場合でも独自は出来るだけ使わずにJPAベースで開発して どうしても必要なところのみHibernate依存を書くのが一番メンテ含めて効率が良い。 あとTopLink EssentialsがTopLinkをベースにJPA実装を作ったやつで RI(参照実装)となっていた。これの後継がEclipseLinkになると思ってよい。 JPA2.0ではEclipseLinkがRIになる。
36 : >>29 DB設計時にO/Rマッパーの機能・規約を意識しているかどうかは重要だけど ドメインモデルを採用するかどうかは必須条件ではないよ
37 : javax.persistenceのアノテーションでインデックス付けたいんですけど、 Hibernateの@Index見たいなのが無くて困ってます。 そう言う物?
38 : >>37 Hibernate独自アノテーションはJPAにできないことのためにある
39 : JavaPersistenceAPI(笑い)
40 : JPAネットたかた(笑い)
41 : (笑い)(笑)
42 : >37 @Indexってなんのためにあるの?
43 : 禁書目録のためにある
44 : 禁書目録のためにある(笑)
45 : >>38 そうだと思って@Index(name="xxxx")を一緒に付けても、 インデックスが作成される気配も無く・・・ persistence.xmlを使うと、Hibernateアノテーションは使えなくなるのかなと。 >>42 DBのいわゆるインデックスを作成する為に。 少なくともそう思ってます。
46 : ORM側からDB生成するのはせいぜい最初だけだと思ってるけど、 定常的にORM側をメインに使ってる事例はどのくらいあるんだろ。
47 : あぼーん
48 : あぼーん
49 : い……禁書目録
50 : あぼーん
51 : あぼーん
52 : ところで、JPAのManyToOneのOne側のIdがnullなデータベースがあったらどうすればいいですか?
53 : IDがNullだと・・?
54 : あぼーん
55 : あぼーん
56 : >>52 で、結局面倒なのでデータベース側で結合させてむりくり処理することにした。 http://as400bks.rochester.ibm.com/html/as400/v4r5/ic2962/info/db2/rbafpmst89.htm#HDRDEJDFTV as400って昔からデータベースが標準だったからいまでもデータが残っているのでいいんだが、 RPGのプログラムだと好き勝手に組めてidにnullなんかやりたい放題なんでそんなのどうするかはすげー困る。 あーデータベース一から作り直したいぜ。 スレ違いすまぬ
57 : あぼーん
58 : あぼーん
59 : あぼーん
60 : なんかのアニメキャラなのか? キモ・・・
61 : あぼーん
62 : あぼーん
63 : あぼーん
64 : なんか荒らされるようなことあったっけ?
65 : あぼーん
66 : あぼーん
67 : あぼーん
68 : あぼーん
69 : あぼーん
70 : すみません Hibernate勉強中なのですが、Hibernate Reference Documentationの最初から戸惑ってます 最初の単純なアプリケーションをコピーして作っているのですが、動作しません いきなり、slf4j関係で怒られます エラーメッセージにあらわれたURLを参考にslf4j-simple-1.5.5.jar入れたら、とりあえず、slf4j関係は怒られなくなりました しかし、さらにjava.lang.NoSuchFieldError: nameなるエラーメッセージが現れ動作しません デバッガで追ったところ、発生箇所はnew Configuration()なのですが、何が悪いのかよくわかりません 現在、Configurationのソースコードを読み始めていますが、なにかアドバイスあればお願いいたします Hibernateは3.3.1です OSはWindowsXPSP2, jdkは6update7です よろしくおねがいいたします
71 : >>70 事故解決しました ありがとうございました
72 : 事故解決ってなんだ 下請けにぶつけて賠償請求でもしたのか
73 : あぼーん
74 : あぼーん
75 : なんかJavaって使ってるの基地外ばっかなのか? >>43 あたりからなんか意味不明なんだけど
76 : 意味さえわかれば基地外ではないということが理解できるはずさ
77 : あぼーん
78 : あぼーん
79 : あぼーん
80 : あぼーん
81 : あぼーん
82 : >>70 同じ問題で悩んでいます。 どう解決したのか教えて下さいませ。
83 : どう解決したのか教えてくれるとうれしいな >>82 から>>70 へのお願いなんだよ
84 : Hibernateのバージョンを3.3.1から2.1.8に落としたらうまくいきました。 フォーーー!!
85 : あぼーん
86 : あぼーん
87 : あぼーん
88 : あぼーん
89 : S2JDBC って Seasar と全く関係ないプロジェクトでも使えるんですか? ちょっと質問が意味不明かもしれないですが…うまく言えないですが、 Seasar 系のものと一緒でなければ使えないのかどうか知りたいのですが。
90 : 名前からみてもらえればわかるとおり依存性あり JPAのようにコンテナ非依存だったらよかったよね S3の各種コンポーネントもSlim依存のようだし SAStrutsとS2JDBCがDIコンテナ非依存だったら SpringとかGuiceとかその他さまざまなところで使われた予感
91 : 何トンJンなこと言ってるんだ?
92 : なんだS2JDBCってそうなのか。残念。
93 : とある Java の インデックスアウトオブバウンズエクセプション
94 : あぼーん
95 : 無能力情報処理技術者 レベル0(大半はこれに当てはまる。単なるおちこぼれ。ごくまれに例外がいる。) 低能力情報処理技術者 レベル1(多くの開発者が属する。パスポートでITの国に入国できる程度の力。) 異能力情報処理技術者 レベル2(レベル1に毛が生えた程度の力で、基本的な能力のみ有する。) 強能力情報処理技術者 レベル3(能力は今の貝発射程度。資格的には高度区分扱いされ始めるレベル。) 大能力情報処理技術者 レベル4(プロジェクトにおいて戦術的価値を見出せる程の力。) 超能力情報処理技術者 レベル5(日本のIT業界でもそれほど多くない。1人で1プロジェクトと対等に渡り合える程の力。) 絶対能力情報処理技術者レベル6(日本のITの動向に影響を与えるほどのスキルを有する者だけが到達可能。) ttp://www.ipa.go.jp/jinzai/itss/
96 : あぼーん
97 : あぼーん
98 : あぼーん
99 : これってSeasarの人が荒らしてるの?
100read 1read 1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
IEコンポーネントを使い倒すスレ Ver.2 (701)
なぜ、 = が 代入 を 表す 記号 に なったか? (572)
【あなごる】anarchy golf! (281)
【C++】マイナーGUIツールキット (662)
0から始める2chブラウザfor超漢字 "2ch de BTRON" (357)
Mozillaでプログラミング(XUL) その3 (545)
--log9.info------------------
【_| ̄|○】トラウマになった同人作品orz 9【○|_| ̄】 (916)
武装金東金3 (205)
負け組ヒロイン同人板出張所6敗目 (710)
【髪の毛】神が寵愛してくれた 4【いらない】 (828)
同人板を見て変わったこと (302)
糸吉界師同人第4話 (230)
なんか冷めちゃう瞬間 (237)
(・∀・)ニコッ! @同人板3 (202)
ギル茶ギア ラウンド18 (265)
●0nlyイベントトラブル相談所 14件目● (219)
好きだったのに見失った同人作家スレ その2 (268)
ゼノレダとニテンドウで同人!2 (580)
【無断】同人サイトのリンクについて 28【相互】 (674)
とるうぱあむかしばなし 14話目 (683)
2ch被害者が心情を吐露するスレin同人板5 (381)
【盗作】狛江サロン/松本あずさ8【パクラー】 (925)
--log55.com------------------
LCレンディング★4
今日起きた酷い出来事!!
チャーハン
麺類をすすらない人が急増!ヌーハラ問題が影響か [無断転載禁止]383
シチュー
カレーライス総合スレvol.2
日本三大飯不味処【大阪】【岡山】【奈良】を語る
ぎょうざ