Java⇔RDBのMapping-Frameworkを語るThre Vol.3
952 :
デフォルトの名無しさん:2005/12/05(月) 22:50:13
>>951 DBのnull値はObjectの参照値nullになった気がするけど記憶に自信ないや。
ちょっと試してみてよ。(今ソースが手元にないのでゴメン)
余談だが、一ひねり必要なのは、いわゆる名称テーブルの行セットが
削除されてた時の関連Objectの対応かな。おれはSQLを
select
#employeeId# AS employeeId,
NVL(EMP.ENAME,'') AS employeeName
FROM DUAL
LEFT OUTER JOIN EMP ON EMP.EMPNO = #employeeId#
とやってしのいでいるけど、他のiBATIS遣いの方々はどうしてるの?
( OracleDialect丸出し失礼 )
>>951 参照型であればnullになったはず。
問題はプリミティブ型の場合で、何も対処しないと例外になったはず。
なので、<result>にnullValue="false"(booleanの場合)を書きました。
955 :
デフォルトの名無しさん:2005/12/12(月) 23:33:41
Hibernate使い始めたんですが、
テーブルのカラムにdate[](配列)が定義されてんですけど
マッピング定義ファイルの書き方がわからんのです。
どなたかわかります?それとも無理なんでしょうか?
<property name="regularDate" type="java.util.Date[]">
<column name="regular_date"/>
</property>
JDBCで扱えるならUserTypeでどーにかならんか?
Hibernate 3.1 リリース記念。
Mapping-Framework使いの皆さんに聞きたいんですが、
今回、Java⇔Oracleで、基幹システム(見積、受注、発注、出荷、在庫など)を
組むことになったのですが、
こういうのって意外と顧客独自な複雑な仕様があるので、テーブルもすごい何十個とかあります。
全てのテーブルのMappinngクラスを作ったりするもんなんですか?
複数テーブルとリレーション組んだりする時もその都度Mappinngクラス作るんですか?
なんか、結局SQL文コードに埋め込む形になっちゃいそうなんですが・・・
実際どうなんでしょうか?
>>958 マッピングクラスなんか自動で作ってくれるツールがあるわけだから、ケチらず全部作れば?
あと、SQLをコードに埋め込むかどうかは、マッピングクラスを全部作るかどうかとは関係ない話。
ORマッピング使ったからといって、全部SQL使わずにやるわけじゃないし。
Oracle Toplinkはどうした。
963 :
958:2005/12/15(木) 09:27:28
レスありがとうございます。
>>959-960 本当にマッピングが、仕様の変更に迅速に対応できるのか、
マッピングとSQLの混在で、中途半端にならないか
という事が不安です。
逆に、こういう時はマッピングで、この時は、SQLとかいう
推奨の取り決めなどあるのでしょうか?
>>961-962 DB2やpostgreSqlも視野に入れてるので今回は使わない予定です。
965 :
964:2005/12/15(木) 09:56:21
追伸:知ってるかもしれんがTopLinkの一部はEJB3のRIの土台になる、
つまりOracleDB以外でもOKなオプソになる。
GlassFishでぐぐってみて。
>>963 > 逆に、こういう時はマッピングで、この時は、SQLとかいう
> 推奨の取り決めなどあるのでしょうか?
1件単位の処理はマッピング
複数レコード一括処理はSQL
抽出はxQL
967 :
958:2005/12/15(木) 14:10:25
>>964 iBATISいいですね、SQL部分とロジックを分けれるので、管理も楽そうです。
>>965 TopLinkとGlassFishは、調査中です。難しそうですね・・・
>>966 >複数レコードの一括処理
ってのは、いわゆるバッチ系でしょうか?
バッチ系じゃなくても、普通にあると思うけど。
>>968 たとえば、ある10件のデータを持ったテーブルの内容を画面に表示したいってのは
複数レコードの一括処理に入りますか?
971 :
958:2005/12/15(木) 16:15:37
>>970 一応、Hibernate使ってるんですが、
>>969の場合
selectは、書く必要がないと思うんですが・・・
972 :
デフォルトの名無しさん:2005/12/15(木) 16:16:04
>>967 iBATISはSpringと組み合わせると、なお楽チンにソース書ける。
Spring提供の 『 iBATIS用お助けAbstractClass 』 を継承する形。
さすればカッタルイお決まりソース部分は親クラスがやってくれる。
iBATISのライバルに位置するものとしては、
S2DAO、SpringJDBCが存在する。
そろそろ次スレ準備ヨロ
974 :
デフォルトの名無しさん:2005/12/15(木) 21:32:28
このスレのみんなは皆DbUnit使ってテストしてるの?
DbUnitはO-Rマッピングと世界が違って
どうも何か違和感を感じるんだけど
>>971 構文上selectを省略できるという意味?
976 :
デフォルトの名無しさん:2005/12/15(木) 23:42:46
SQLは集計を含んだ副問い合わせのときしかかかなかったな。
あとはHQLだった。
クライテリアは、条件の設定が面倒だったので、使わなかった。
結合の制御もできないしね。
「select」はほとんど省略したけど、HQLを使った。
今ならprojectionが導入されたからクライテリアを使うかもしれない。
J2EE5の説明みててアノテーションでORDER BY句が指定できるように
WHERE句も指定できるようにならないかな
J2EE5などない。
こういうのをモヒカン族っていうのかな
982 :
デフォルトの名無しさん:2005/12/16(金) 10:12:42
データベースのテーブルや、フィールド名とかの命名規約ってあるのかな?
たとえば、得意先マスターだったら、今までは、
テーブル名:CUSTOMER
フィールド名:CUSTOMER_NAME
なんですけど、
マッピングを自動生成させると、
getCustomer_Nameっていうプロパティ名が生成されて気持ち悪いんですけど・・・
やっぱり、getCustomerNameであってほしいのですが、皆さんはどうしてますか?
データベースの推奨では、CUSTOMER_CODEとかアンダーバーで区切りなさいって良く聞くのですが・・・
983 :
982:2005/12/16(金) 10:22:35
すみません誤爆でした。
customer_nameは、
getCustomerNameにしてくれました・・・
アンダーバーを使おうと思います
985 :
デフォルトの名無しさん:2005/12/16(金) 17:56:01
Hibernate
ORマッピングって流行ってるの?
ibatisのマッピングものたりない・・・。
listを出そうとするとエラーになる。
そのままtoString()で出してほしいのですが。
988 :
デフォルトの名無しさん:2005/12/16(金) 21:03:58
モノにもよるとおもうが、オレ様の周りじゃ流行をこえて常識になってるけど
ibatisしか使ったことねえのだが
hibernateって複合プライマリキーのテーブルの扱いがへんでねえか?
990 :
デフォルトの名無しさん:2005/12/17(土) 13:45:38
>>981 村社会と比べたら全然モヒカン族の方が好意的だよ。
モヒカン族はテクノクラシー(技術至上主義)
村社会は社会主義社会、北朝鮮的。昔のnifty時代によく見られた
その名残としてブログや2chが出るまでは
閉鎖的な掲示板で村社会的なものがよく見られた。まさに洗脳に近い。
モヒカン族は人を洗脳しない。つっこみは入れるが意見を受け容れる
まさにアメリカ的民主主義。
>>989 複合プライマリーキーをフィールドに持つIDクラスで管理する。
IDクラスはequals()とhashcode()をオーバーライドする必要があるが、Hibernate Toolsを使えば自動でやってくれる。
こんなかんじなんだけど、どう変なの?
hibernateのレイジーなんたら。
Webアプリにはむかねえと思った
995 :
デフォルトの名無しさん:2005/12/23(金) 12:13:44
>>992 つOpen Session In View
997 :
デフォルトの名無しさん:2005/12/23(金) 19:26:35
野茂暗くないよ
ばーかばーか
ばーか
ばーかばーか
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。