1read 100read
2013年03月プログラム298: Java⇔RDBのMapping-Frameworkを語るスレ Vol.5 (950)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
【コボル】COBOL不要論【ただのDSLだよね?】 (350)
初心者の俺が初めて覚えるプログラム言語 (472)
暇だから最強のメモ帳つくらね?【java】 (742)
pythonがこの先生きのこるには (747)
COBOL vs Java 2戦目 (956)
【漏れは】猫でもわかる質問スレ【猫以下です】 (494)
Java⇔RDBのMapping-Frameworkを語るスレ Vol.5
1 :2008/09/06 〜 最終レス :2013/03/02 前スレ: 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プログラミング(第6版) (533)
C++は難しすぎ 難易度:4 (419)
★★Java質問・相談スレッド160★★ (529)
最も美しいプログラミング言語は? Part6 (430)
【GPGPU】くだすれCUDAスレ part6【NVIDIA】 (279)
プログラム関係の雑誌について (223)
--log9.info------------------
【フリゲ】フリーゲームのBGM総合スレッド【同人】 (247)
嫌いなBGMを書き込むスレ (525)
聖剣伝説新作は下村様の方が良いと思う奴の数→ (505)
【ゲーム】ゼルダの伝説 3【音楽】 (795)
● RPGツクールのデフォの曲を語るスレ ● (675)
鉄拳シリーズ (609)
【デュープリ】仲野順也の音楽を語るスレ Vol.2【FFX】 (422)
浜渦正志 29スレ目 (210)
クロノトリガーVS MOTHER(マザー) (326)
コナミゲームのBGMについて語り合うスレ (348)
田中宏和総合スレ (308)
【雑音】ゲーム音楽はロックばっかり【騒音】 (345)
全曲イイ!サントラ (261)
【みんなで】ファルコム名曲ベスト100【決めよう】 (831)
植松の曲ってすぐ飽きるよな (368)
ロックマンゼロ&ゼクスの音楽 山田三法 (236)
--log55.com------------------
【反日】モーニングショー、日経平均大幅下落を喜んで放送
【肺炎】Perfumeが2月の東京ドーム公演を決行!★12
【声優】大塚明夫、声優という仕事を私は絶対おすすめしません。売れなければ「お前のせい」スターが出れば「ありゃあ俺んとこで育てた」★3
【脱税】チュート徳井が確定申告時期に合わせて活動再開へ!謹慎4ヶ月★3
【視聴率】NHK「麒麟がくる」6話13・8%前回0・6P増
【芸能】石橋貴明、高校生に“自己紹介”「おじさんね、昔人気あったんだよ」
【音楽】<新型コロナウイルス感染>熊本の20代女性、発症前に福岡でコンサートに!「行ったのは間違いないが、出演者や会場は言えない」
【サッカー】<長谷部誠>オーバーエージ枠について「五輪は若い選手の舞台。36歳の自分は13歳もオーバーしている」消極的な姿勢