1 名前:デフォルトの名無しさん mailto:sage [2008/09/06(土) 12:31: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 ぐらい
9 名前:6 1/2 mailto:sage [2008/09/15(月) 13:33:38 ] ありがとうございます。 それでは質問します。 EclipseとStruts2フレームワークを使用して、開発を行なっています。 Struts2に付属?していたHibernateを用いて、簡単なワークフローを実現する、 Webシステムを開発しようとしています。 申請テーブル +ユーザID +作成年月日 +申請種別 −承否認期限日 申請先テーブル +ユーザID +作成年月日 +申請種別 +申請先順番 −申請先ユーザID −承否認状況 (テキストでの記述の方法がよく分からなかったため、+が主キー列、−が普通の列です。 外部参照等は設定しておりません。) 最低限の構造に絞った物ですが、上記のような構造のDBテーブルがありまして、 このテーブルを用いて「現在自分に来ている申請の、"承否認期限日"一覧を表示する」画面を 作成しようと思っています。
10 名前:6 2/2 [2008/09/15(月) 13:38:18 ] 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で、複合主キー(自然キー)を用いたクラス同士のフィールドの、 結合のための定義方法について、どなたかご教授願います。 また、どこか根本的に間違っている部分があれば、指摘を頂きたいです。 よろしくお願いします。