1read 100read
2013年17プログラム158: Java⇔RDBのMapping-Frameworkを語るスレ Vol.5 (959)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
CoffeeScript (266)
【DI】Java Spring Frameworkを語るスレ 5.0 (157)
ネットワークプログラミング相談室 Port29 (372)
人気プログラミング言語ランキング (893)
float 使うヤツはドシロートかおぢさん (156)
【Delphi】Embarcaderoオッチャ その28【C++B*】 (893)
Java⇔RDBのMapping-Frameworkを語るスレ Vol.5
1 :2008/09/06 〜 最終レス :2013/09/24 前スレ: 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 : 何トンチンカンなこと言ってるんだ?
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元 削除依頼 ▲
くだすれC++/CLI(初心者用)part2 (723)
関数呼出しはgoto文である (192)
自然言語処理スレッド その3 (733)
Google App Engine for java (289)
くだすれPython(超初心者用) その18 (440)
Pythonのお勉強 Part48 (644)
--log9.info------------------
【ドシラゴジラ】伊福部昭の芸術part.15【ゴジラドシラ】 (329)
ベートーヴェン交響曲第7番お気に入り名盤 (687)
村治佳織 10曲目 【クラシックギタリスト】 (202)
佐々木希の「噛むとフニャン」でも聴いていなさい (229)
ピエール・モントゥー (520)
ロリン・マゼール -Lorin Maazel- (508)
【バイエルン】 ヤンソンス 3 【コンセルトヘボウ】 (588)
この演奏家でぜひ聴きたかった曲 (534)
フルート総合 (138)
【violin】ヴァイオリン総合スレ8【バイオリン】 (386)
???固有名詞でモメるスレ 3??? (400)
■■改悪■■NHK-FM放送を断固守ろう!■■阻止■■ (624)
雪が降るような寒い日に聴きたいクラシックは? (144)
【クラオタ】アニメとクラシック第13期【アニオタ】 (742)
【音盤考現学】 片山杜秀 【クラシックの迷宮】 (703)
指揮者 齊籐一郎 (173)
--log55.com------------------
君の名は。に対するYahoo!における評価下落攻撃
【BD】ブルーレイ版映画総合スレ Part67【Blu-ray】
最高につまらなかった映画2
とにもかくにも演技が下手な俳優3
【LD】映画板レーザーディスクTHREAD 2 【LD】
ホラー映画にグロ度ランクを付けよう Part4
【値下げ?】劇場観賞料金を考える【付加価値?】
【洋画】外国映画の国内興行収入を見守るスレ11