08/09/06 12:31:17
前スレ:
Java⇔RDBのMapping-Frameworkを語るスレ Vol.4
スレリンク(tech板)
過去スレ:
Java⇔RDBのMapping-Frameworkを語るThre Vol.3
スレリンク(tech板)
Java⇔RDBのMapping-Frameworkを語るスレ Vol.2
スレリンク(tech板)
Java⇔RDBのMapping-Frameworkを語るスレ
スレリンク(tech板)
●まずは、基礎知識と技術選択指針など
[The Fundamentals of Mapping Objects to Relational Databases]
(RDBに対するオブジェクトマッピングの基礎(英語))
URLリンク(www.agiledata.org)
[O/R-Mappingツールの比較サイト(英語)]
URLリンク(c2.com)
[Catalog of Patterns of Enterprise Application Architecture (PoEAA)]
URLリンク(www.martinfowler.com)
あとは>>2-5ぐらい
2:デフォルトの名無しさん
08/09/06 12:33:33
●O/R-Mapping Framework各種
[HYBERNATE]
URLリンク(www.hibernate.org)
[Cayenne]
URLリンク(cayenne.apache.org)
[Torque]
URLリンク(db.apache.org)
[iBATIS - SQL Maps]
URLリンク(ibatis.apache.org)
[Java Ultra-Lite Persistence (JULP)]
URLリンク(julp.sourceforge.net)
[Jakarta Commons DbUtils](O/R-Mappingというよりは、O/R-Bridge)
URLリンク(commons.apache.org)
[Amber - Lightweight Java R/O Mapping Framework]
URLリンク(sourceforge.net)
[GlassFish / EJB3.0 ReferenceImplemention ]
URLリンク(glassfish.dev.java.net)
[S2Dao]
URLリンク(s2dao.seasar.org)
3:デフォルトの名無しさん
08/09/06 12:34:40
●その他関連情報・ツール
[JoSQL]
JavaオブジェクトをSQLで操作
URLリンク(josql.sourceforge.net)
[SQL Generator]
Javaでお手軽かつ動的にSQLを生成する
URLリンク(sourceforge.jp)
データベース開発をサポートするプラグイン (Eclipse用)
URLリンク(itpro.nikkeibp.co.jp)
4:デフォルトの名無しさん
08/09/06 21:02:27
>>1乙!!
ひとつ紹介させてね。
[activeobjects]
URLリンク(activeobjects.dev.java.net)
5:デフォルトの名無しさん
08/09/13 23:23:14
>>1 おつです
他にもまだまだあるようで
URLリンク(db2.jugem.cc)
6:デフォルトの名無しさん
08/09/14 19:42:58
Hibernateの、HQLを使用した、自然キーを持つテーブル(クラス)の
結合に関して質問したいんだけど、それってここでいいの?
7:デフォルトの名無しさん
08/09/14 19:43:45
すいませんあげてしまいました・・・ごめんなさい
8:デフォルトの名無しさん
08/09/15 12:48:18
新規の質問はあげるのが普通じゃね?
いいと思いますよ。
9:6 1/2
08/09/15 13:33:38
ありがとうございます。
それでは質問します。
EclipseとStruts2フレームワークを使用して、開発を行なっています。
Struts2に付属?していたHibernateを用いて、簡単なワークフローを実現する、
Webシステムを開発しようとしています。
申請テーブル
+ユーザID
+作成年月日
+申請種別
-承否認期限日
申請先テーブル
+ユーザID
+作成年月日
+申請種別
+申請先順番
-申請先ユーザID
-承否認状況
(テキストでの記述の方法がよく分からなかったため、+が主キー列、-が普通の列です。
外部参照等は設定しておりません。)
最低限の構造に絞った物ですが、上記のような構造のDBテーブルがありまして、
このテーブルを用いて「現在自分に来ている申請の、"承否認期限日"一覧を表示する」画面を
作成しようと思っています。
10:6 2/2
08/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で、複合主キー(自然キー)を用いたクラス同士のフィールドの、
結合のための定義方法について、どなたかご教授願います。
また、どこか根本的に間違っている部分があれば、指摘を頂きたいです。
よろしくお願いします。
11:デフォルトの名無しさん
08/09/15 13:57:44
>>9-10
> Hibernateを用いるのであれば、XML内に、結合に関する定義が必要であるような気がするのですが、
正解。サンプルから調べるのがいいかな
URLリンク(www.hibernate.org)
関連のマッピングができればHQLでは関連名を指定するだけ。
12:デフォルトの名無しさん
08/09/15 13:58:06
公式ドキュメントのcomposite identifiers辺りを参照
URLリンク(www.hibernate.org)
ただし、複合主キー使うDB構成にHibernateを使うのはあまりお勧めしない
Hibernateはあくまでも外部キーによる結合を前提とした挙動をするから
後々ハマるポイントが出てくる
13:6
08/09/15 21:17:29
ありがとうございます、参考に致します
英語は糞苦手ですが頑張って読みます
>>11
関連名をHQLで指定する!?その発送は無かったです
クリティカルなサンプルありがとうございます、
参考にします
>>12
本当は人工キーに変更したいのですが、
今更そんな事も言えず・・・というか、
むしろHibernateを使用したくないのが本音です
勉強だと思って頑張ります
ところで、現在、英語が苦手な私は
URLリンク(www.redhat.com)
ここを参考に作業をしているのですが、
このページの信頼度はどの程度のものなのでしょうか?
公式と比べて遜色ない物でしょうか?
14:デフォルトの名無しさん
08/09/15 22:03:48
>>13
それ公式だから。
15:6
08/09/15 23:02:29
>>14
まじですか。
公式っぽいなぁとは思いつつ、確証持てなかったんですが・・・
ありがとうございます、自信を持って参考にします
16:デフォルトの名無しさん
08/09/16 20:32:07
>>5
これ使ったことあるん?
あるなら感想というか使い心地を聞きたいなあ
17:16
08/09/16 20:33:25
アンカーミスった
>>4です、すいません
18:デフォルトの名無しさん
08/09/16 23:54:02
activeobjectsってHIBERNATEとかに比べると簡単だったよ。
ただトランザクションの宣言方法が独特だった気が…
19:デフォルトの名無しさん
08/09/17 17:45:17
あれー?
S2JDBCはー?
20:デフォルトの名無しさん
08/09/17 20:16:04
なにそれ
使えんの?
21:デフォルトの名無しさん
08/09/18 08:06:28
>>20
今の流行。俺の中でw
Hybernate
↓
S2Dao
↓
iBatis
↓
S2JDBC(今ここ)
22:デフォルトの名無しさん
08/09/18 23:51:56
その流れでS2JDBCにたどり着くっててところがおもろいが
4つの中でどれが一番覚え易かった?
23:デフォルトの名無しさん
08/09/19 11:48:43
いまはS2JDBCかなー
でもちゃんと規約作った方がよさげ。
自分で規約を作れないならS2Dao。
規約作れなくても楽がいいっていうならS2JDBC。
仕組み的にはiBatisが一番分かりやすいけど、
タグ覚えなきゃならないのとタグにクセがある部分があるのが
ちょっといやなところがある。
まあ、Seasar使えないならiBatisしかないけど。
Hybernateは無い。
24:デフォルトの名無しさん
08/09/19 20:51:38
S2JDBCやLINQみたいなものは良いんだけどさ~。
でも、分かっている人達だけでやる時用っていう気はするんだよね。
スキルが色んな人達が集まっている環境で、最低限の品質を保とうとすると
結局DAOパターンに落ち着いてしまったり。
iBatisも3.0になって、interfaceベースでのConfigurationが出来るようになると
嬉しいかな?
そしてHibernateは無い。
25:デフォルトの名無しさん
08/09/19 21:43:43
Hybernateが無いのは同意
規約は無くても、作ってたら自然と規約っぽくなっちゃわない?
でも複数人でやるときは
やっぱS2Daoのほうがいらぬ心配しなくていいのか
26:デフォルトの名無しさん
08/09/19 22:57:24
Hybernateはないよな
27:デフォルトの名無しさん
08/09/20 02:30:25
たしかにそんなプロダクトはないな
28:デフォルトの名無しさん
08/09/20 10:12:54
無い理由は?
覚えること多すぎというのはわかる
あと、Hibernateな
29:デフォルトの名無しさん
08/09/20 10:33:04
開発や企画を押さえ込めるスーパーエンジニアががっちりドメインモデルを作って
仕切ってるような場合はhibernateはいいんだけど、そういうのはまずありえないから。
30:デフォルトの名無しさん
08/09/20 12:09:01
EclipseLinkは?
31:デフォルトの名無しさん
08/09/20 14:22:33
>>30
O/Rマッパの主力かと
EclipseとNetBeans、JDevの積極的なサポート
アプリケーションサーバーもGlassfishV3で標準になるし
Oracle製品も標準搭載してくるでしょ
なんだかんだいってもJPAはツールのサポートが一番優れてるから便利
標準APIは強いな
32:デフォルトの名無しさん
08/09/20 15:39:01
>>28
> あと、Hibernateな
>26はその意味。分かりにくいけどyは全角なんだぜ
33:デフォルトの名無しさん
08/09/20 17:15:43
S2JDBC、OpenJPA は、ともに JPA の実装のひとつという理解であってますか?
あと、ほかに JPA ができる実装として、(ググってキーワードだけ見つけたので実際に使ったことはないのですが)
を見つけました。
Hibernate + Hibernate Entity Manager
TopLink JPA
Hibernate Entity Manager を使えば、Hibernate を JPA チックに使えるってこと?
34:デフォルトの名無しさん
08/09/20 17:29:40
S2JDBCはJPAの実装じゃないよ
35:デフォルトの名無しさん
08/09/20 19:06:01
>>33
S2JDBCは違う。あれは見た目JPAに似ているが完全な独自。
>Hibernate Entity Manager を使えば、Hibernate を JPA チックに使えるってこと?
そういうこと。
Hibernateを採用した場合でも独自は出来るだけ使わずにJPAベースで開発して
どうしても必要なところのみHibernate依存を書くのが一番メンテ含めて効率が良い。
あとTopLink EssentialsがTopLinkをベースにJPA実装を作ったやつで
RI(参照実装)となっていた。これの後継がEclipseLinkになると思ってよい。
JPA2.0ではEclipseLinkがRIになる。
36:デフォルトの名無しさん
08/09/21 09:57:51
>>29
DB設計時にO/Rマッパーの機能・規約を意識しているかどうかは重要だけど
ドメインモデルを採用するかどうかは必須条件ではないよ
37:デフォルトの名無しさん
08/10/09 23:44:37
javax.persistenceのアノテーションでインデックス付けたいんですけど、
Hibernateの@Index見たいなのが無くて困ってます。
そう言う物?
38:デフォルトの名無しさん
08/10/10 00:02:39
>>37
Hibernate独自アノテーションはJPAにできないことのためにある
39:デフォルトの名無しさん
08/10/10 02:56:28
JavaPersistenceAPI(笑い)
40:デフォルトの名無しさん
08/10/10 03:48:53
JPAネットたかた(笑い)
41:デフォルトの名無しさん
08/10/10 10:04:46
(笑い)(笑)
42:デフォルトの名無しさん
08/10/10 14:18:57
>37
@Indexってなんのためにあるの?
43:デフォルトの名無しさん
08/10/10 20:12:31
禁書目録のためにある
44:デフォルトの名無しさん
08/10/10 20:48:12
禁書目録のためにある(笑)
45:デフォルトの名無しさん
08/10/10 21:05:56
>>38
そうだと思って@Index(name="xxxx")を一緒に付けても、
インデックスが作成される気配も無く・・・
persistence.xmlを使うと、Hibernateアノテーションは使えなくなるのかなと。
>>42
DBのいわゆるインデックスを作成する為に。
少なくともそう思ってます。
46:デフォルトの名無しさん
08/10/10 21:22:30
ORM側からDB生成するのはせいぜい最初だけだと思ってるけど、
定常的にORM側をメインに使ってる事例はどのくらいあるんだろ。
47:あぼーん
あぼーん
あぼーん
48:あぼーん
あぼーん
あぼーん
49:デフォルトの名無しさん
08/10/13 11:39:23
い……禁書目録
50:あぼーん
あぼーん
あぼーん
51:あぼーん
あぼーん
あぼーん
52:デフォルトの名無しさん
08/10/17 10:09:20
ところで、JPAのManyToOneのOne側のIdがnullなデータベースがあったらどうすればいいですか?
53:デフォルトの名無しさん
08/10/18 00:24:05
IDがNullだと・・?
54:あぼーん
あぼーん
あぼーん
55:あぼーん
あぼーん
あぼーん
56:デフォルトの名無しさん
08/10/20 16:03:55
>>52
で、結局面倒なのでデータベース側で結合させてむりくり処理することにした。
URLリンク(as400bks.rochester.ibm.com)
as400って昔からデータベースが標準だったからいまでもデータが残っているのでいいんだが、
RPGのプログラムだと好き勝手に組めてidにnullなんかやりたい放題なんでそんなのどうするかはすげー困る。
あーデータベース一から作り直したいぜ。
スレ違いすまぬ
57:あぼーん
あぼーん
あぼーん
58:あぼーん
あぼーん
あぼーん
59:あぼーん
あぼーん
あぼーん
60:デフォルトの名無しさん
08/10/25 20:23:47
なんかのアニメキャラなのか?
キモ・・・
61:あぼーん
あぼーん
あぼーん
62:あぼーん
あぼーん
あぼーん
63:あぼーん
あぼーん
あぼーん
64:デフォルトの名無しさん
08/10/26 12:57:58
なんか荒らされるようなことあったっけ?
65:あぼーん
あぼーん
あぼーん
66:あぼーん
あぼーん
あぼーん
67:あぼーん
あぼーん
あぼーん
68:あぼーん
あぼーん
あぼーん
69:あぼーん
あぼーん
あぼーん
70:デフォルトの名無しさん
08/10/29 18:21:42
すみません
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:デフォルトの名無しさん
08/10/29 21:50:15
>>70
事故解決しました
ありがとうございました
72:デフォルトの名無しさん
08/10/30 01:21:23
事故解決ってなんだ
下請けにぶつけて賠償請求でもしたのか
73:あぼーん
あぼーん
あぼーん
74:あぼーん
あぼーん
あぼーん
75:デフォルトの名無しさん
08/11/06 04:45:01
なんかJavaって使ってるの基地外ばっかなのか?
>>43 あたりからなんか意味不明なんだけど
76:デフォルトの名無しさん
08/11/06 23:26:08
意味さえわかれば基地外ではないということが理解できるはずさ
77:あぼーん
あぼーん
あぼーん
78:あぼーん
あぼーん
あぼーん
79:あぼーん
あぼーん
あぼーん
80:あぼーん
あぼーん
あぼーん
81:あぼーん
あぼーん
あぼーん
82:デフォルトの名無しさん
08/11/10 13:53:32
>>70
同じ問題で悩んでいます。
どう解決したのか教えて下さいませ。
83:デフォルトの名無しさん
08/11/11 00:02:19
どう解決したのか教えてくれるとうれしいな
>>82から>>70へのお願いなんだよ
84:70
08/11/11 18:54:13
Hibernateのバージョンを3.3.1から2.1.8に落としたらうまくいきました。
フォーーー!!
85:あぼーん
あぼーん
あぼーん
86:あぼーん
あぼーん
あぼーん
87:あぼーん
あぼーん
あぼーん
88:あぼーん
あぼーん
あぼーん
89:デフォルトの名無しさん
08/11/16 04:24:38
S2JDBC って Seasar と全く関係ないプロジェクトでも使えるんですか?
ちょっと質問が意味不明かもしれないですが…うまく言えないですが、
Seasar 系のものと一緒でなければ使えないのかどうか知りたいのですが。
90:デフォルトの名無しさん
08/11/16 12:19:20
名前からみてもらえればわかるとおり依存性あり
JPAのようにコンテナ非依存だったらよかったよね
S3の各種コンポーネントもSlim依存のようだし
SAStrutsとS2JDBCがDIコンテナ非依存だったら
SpringとかGuiceとかその他さまざまなところで使われた予感
91:デフォルトの名無しさん
08/11/16 13:01:42
何トンチンカンなこと言ってるんだ?
92:デフォルトの名無しさん
08/11/16 14:20:58
なんだS2JDBCってそうなのか。残念。
93:デフォルトの名無しさん
08/11/16 18:28:00
とある Java の インデックスアウトオブバウンズエクセプション
94:あぼーん
あぼーん
あぼーん
95:デフォルトの名無しさん
08/11/16 18:34:29
無能力情報処理技術者 レベル0(大半はこれに当てはまる。単なるおちこぼれ。ごくまれに例外がいる。)
低能力情報処理技術者 レベル1(多くの開発者が属する。パスポートでITの国に入国できる程度の力。)
異能力情報処理技術者 レベル2(レベル1に毛が生えた程度の力で、基本的な能力のみ有する。)
強能力情報処理技術者 レベル3(能力は今の貝発射程度。資格的には高度区分扱いされ始めるレベル。)
大能力情報処理技術者 レベル4(プロジェクトにおいて戦術的価値を見出せる程の力。)
超能力情報処理技術者 レベル5(日本のIT業界でもそれほど多くない。1人で1プロジェクトと対等に渡り合える程の力。)
絶対能力情報処理技術者レベル6(日本のITの動向に影響を与えるほどのスキルを有する者だけが到達可能。)
URLリンク(www.ipa.go.jp)
96:あぼーん
あぼーん
あぼーん
97:あぼーん
あぼーん
あぼーん
98:あぼーん
あぼーん
あぼーん
99:デフォルトの名無しさん
08/11/18 01:08:31
これってSeasarの人が荒らしてるの?
100:あぼーん
あぼーん
あぼーん
101:デフォルトの名無しさん
08/11/19 02:52:07
Seasarの中の人を怒らせると
おそろしいってことか・・・
102:あぼーん
あぼーん
あぼーん
103:あぼーん
あぼーん
あぼーん
104:デフォルトの名無しさん
08/11/23 14:33:25
関係ないの混じってるw
105:あぼーん
あぼーん
あぼーん
106:あぼーん
あぼーん
あぼーん
107:デフォルトの名無しさん
08/11/26 01:44:09
もうやめてください…(;-;)
108:あぼーん
あぼーん
あぼーん
109:あぼーん
あぼーん
あぼーん
110:あぼーん
あぼーん
あぼーん
111:あぼーん
あぼーん
あぼーん
112:あぼーん
あぼーん
あぼーん
113:あぼーん
あぼーん
あぼーん
114:デフォルトの名無しさん
08/12/05 00:39:54
質問です。
複数のスキーマがあり、プログラム起動時にアクセスするスキーマを動的に切り替えたい。
SCHEMA_01.TABLE_01
SCHEMA_02.TABLE_01
SCHEMA_03.TABLE_01
(TABLE_01のレイアウトは全て共通)
iBatis2.3.4で試してみたところ
<select id="getTABLE_01" parameterClass="java.util.Map" resultClass="examples.dto.TABLE_01">
SELECT * FROM $SCHEMA$.TABLE_01 WHERE ID = #ID#
</select>
HashMap map = new HashMap();
map.put("SCHEMA", "SCHEMA_01");
map.put("ID", "1");
TABLE_01 dto = (TABLE_01)sqlMap.queryForObject("getTABLE_01", map);
とすることで一応、目的を果たせました。
ですが、この方法ですと毎回HashmapにSCHEMAパラメータを指定する必要があり、
またparameterClassに自前クラスを指定したい場合などに困ったことになります。
sqlMap側でデフォルトスキーマを指定するようなパラメータがないか調べたのですが、見つかりませんでした。
もう少しスマートに行う方法はありませんでしょうか?
ちなみにHibernateでもアレコレやってみましたが、
こちらは動的に切り替える方法が全く分かりませんでした。
115:デフォルトの名無しさん
08/12/05 11:03:30
Hibernate EntityManager+Springで動的切り替えはやったことある
EntityManagerの委譲クラスを作って、メソッド呼び出しのタイミングで
スレッドローカルに保持しておいたユーザ情報を見て
利用するPersistenceContextを選択するというやり方をした
116:あぼーん
あぼーん
あぼーん
117:デフォルトの名無しさん
08/12/06 13:43:24
以外だ?以上だ?
118:デフォルトの名無しさん
08/12/06 17:54:28
>>114
iBatis + Spring の環境だけど、DataSource のサブクラスを自分で作って、
Spring が getConnection するときに、スレッドローカルなりに格納されてきたユーザ名に応じて
接続先の JDBC DB ユーザ名というを変える、というようなことをやっているよ。
SQL レベルで、
select * from スキーマ名.テーブル名
にはしたくない。
119:デフォルトの名無しさん
08/12/06 19:26:20
>>118
Connection時にDataSourceのユーザを切り替るということはコネクションプーリングを
考えないということでしょうか?
>>115のやり方もちょこっと調べてみましたが同様の考え方のように見受けられました。
(なにやら難しそうで読んだだけでは理解が追いつかなかった・・・)
でも確かに接続ユーザ自体を切り替えるほうが安全で
SQLでスキーマ名.テーブル名ってやっちゃうと、何かの弾みで
別スキーマのデータにアクセスできてしまうという危険がありますからね。
そもそもこのような使い方する場合はコネクションプーリングを考えないほうがいいのかな。
よくDB接続時の負荷が高いというのを見ますが、その辺は大丈夫なんでしょうか?
120:デフォルトの名無しさん
08/12/06 21:07:11
>>119
切り替える分のデータソースを予め定義しておいて、
そのDataSourceを使うiBatisなりHibernateなりのアプリレベルで切り替えればいい
言ってることが理解できないのなら、もうちょっとJavaのDBアクセス関連を勉強した方がいい
121:デフォルトの名無しさん
08/12/06 21:41:17
>>119
Seasar2には標準でその機能が用意されてる
URLリンク(s2container.seasar.org)
URLリンク(svn.seasar.org)
URLリンク(svn.seasar.org)
122:デフォルトの名無しさん
08/12/07 03:18:28
>>120
スキーマは動的に増えていくので、その数分データソースを
用意しておくというのは現実的じゃないんですよ。
なんせゼロからjavaでやるの初めてなんで、
おっしゃる通り勉強し直してきます・・・。
>>121
で、試行錯誤の末なんとか実現できそうです。
sqlMapConfig側で
<dataSource type="SIMPLE">
<property name="JDBC.Driver" value="org.postgresql.Driver"/>
<property name="JDBC.ConnectionURL" value="jdbc:postgresql://....."/>
<property name="JDBC.Username" value="${username}"/>
<property name="JDBC.Password" value="${password}"/>
</dataSource>
ソース側で
Properties props = new Properties();
props.setProperty("username", "hoge");
props.setProperty("password", "1234");
SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader, props);
とやることで指定したユーザで接続できました。
これを開始時に行って取得したsqlMapを使いまわせば実現できそうです。
色々と情報ありがとうございました。
123:デフォルトの名無しさん
08/12/07 13:11:43
スキーマ動的に増えるとか何かの冗談?
124:あぼーん
あぼーん
あぼーん
125:デフォルトの名無しさん
08/12/07 22:28:31
ORツールを導入するプロジェクトの規模ってどのくらいからが妥当ですか?
126:デフォルトの名無しさん
08/12/07 22:59:25
1人で開発する場合から妥当
127:デフォルトの名無しさん
08/12/08 03:12:38
>>123
スキーマ動的に増える設計のシステム保守してるよ。
案外冗談でもないんだな。これが。
128:デフォルトの名無しさん
08/12/08 03:31:14
むしろひとりだとORMつかってうまーの規模だな。
129:デフォルトの名無しさん
08/12/08 09:43:37
プロジェクトで ORM 導入を考えるときは、
便利だけど使いこなすのが難しいので、メンバーに使いこなせるかどうか
とか考えなければいけないけど、ひとりだと自分の好きなツールを使えるからいいね。
130:デフォルトの名無しさん
08/12/08 19:23:51
メンバーのスキルは期待できない。
SQLなら多少書ける。
っというのであれば、DBUtilsやiBatisあたりを使ってりゃいいんじゃね。
131:デフォルトの名無しさん
08/12/08 21:26:41
スキルが期待できない開発者はSQLもとんでもないのを書くことが多いw
132:デフォルトの名無しさん
08/12/08 21:28:09
ぶっちゃけオブジェクト指向よりSQLの方が簡単なので
ORMの説明してもSQLじゃないと出来ないとか言われるのが落ち
133:デフォルトの名無しさん
08/12/08 21:57:54
オブジェクト指向よりSQLのほうが簡単?マジ?
使う側の話だよね?
SQLとの比較ってことは、クラス設計ではなくて、誰かが作ったクラス使う場合だよね。
134:デフォルトの名無しさん
08/12/09 01:52:58
age
135:デフォルトの名無しさん
08/12/09 02:02:31
Entityクラスくらい誰でも作れるだろ
136:あぼーん
あぼーん
あぼーん
137:デフォルトの名無しさん
08/12/11 01:01:18
オレもDBからデータ引っ張るときはSQLで考える方が楽だと思う。
WHEREにORとかBETWEENとか必要で、
GROUP BYでMAXとらなきゃいけないケースが多いからかもしれないけど、
これをORMで、ってなったらゴメンナサイだわ。
138:デフォルトの名無しさん
08/12/11 21:53:12
group byって標準APIであるJPAにもあった気がするけど
139:デフォルトの名無しさん
08/12/11 22:04:15
GROUP BYでMAXはORMでも簡単じゃないか?
テーブル結合とかがかなり面倒って感じかな
140:デフォルトの名無しさん
08/12/11 22:08:42
ORMの場合最初に設計時に関連かいてるからね
FKつけないとかいうトンデモな場所だと使いにくい
141:デフォルトの名無しさん
08/12/12 07:59:47
逆にORM意識して規約に従ったDB設計やっていたら
結合がアホのように簡単になる
スキーマをいじれるときはORMで
いじれないときはSQL重視でやるのがいいと思う
142:デフォルトの名無しさん
08/12/13 08:21:57
SQLがある程度のレベル(ここが議論を呼ぶだろうが)で書ける人は、
ORMをウザく感じるのは事実だろうなぁ。
オブジェクト指向よりも数学の集合論の方が解りやすい。
まあ、スキーマが動的に増えるのは、あんま考えにくいんだが
そういうのは設計が悪いと言っても、今更なんだろう。
仮にそういうケースがあるなら漏れなら・・・
・本番環境用データソース
・テスト環境用データソース
・単体テスト用データソース
とデータソースを作っておいて、その先にテーブルのエイリアスを
入れとくか、ビューを作っておいて、ORM側であーだこーだしない様にするけど。
そういうのはORMやらアプリの仕事じゃないと思うし。
ただ変態的なスキーマな増え方だと逆にアプリでやるしかないんだろうけど・・・。
143:デフォルトの名無しさん
08/12/13 08:24:18
いやド新人でもSQLの方が楽だってよ
144:デフォルトの名無しさん
08/12/13 08:49:38
まあ、新人はSQLを学ぶべきだろう。
145:デフォルトの名無しさん
08/12/13 09:20:18
新人はORMを使う前にJDBCでゴリゴリとSQLでDB操作をするアプリを作ってみるものだろうなぁ。
146:デフォルトの名無しさん
08/12/13 10:02:25
今のORMって結局はSQLの知識がないと複雑な処理はできないからな
典型的なCRUD処理や単純に結合先と合わせて持ってくる程度の処理なら
知識がなくても作れないことも無いが、大抵は複雑なクエリ発行が必要になるものだし
逆にSQLさえ知っていれば、ORMのAPIがどんな処理をやろうとしているのか
おおよそ想像がつくようになる
147:デフォルトの名無しさん
08/12/13 10:13:52
更新する前提の読み込みがあるロングトランザクション系の処理の場合はORMは便利。
単にデータオブジェクトをこさえる目的だけの場合は微妙かな。
148:デフォルトの名無しさん
08/12/13 10:56:33
パフォーマンスが落ちてSQLチューニングが必要になった時点で行き詰まる
149:デフォルトの名無しさん
08/12/13 14:42:16
ロングトランザクション系の処理も正直ストアド(RPG,SQL,C,Java)上で実装した方が
ORM使うよりも楽だと感じるんだが・・・。
#とりあえずDB2だとそう感じる。
ちょろっとしたCRUD処理はORMの方が楽に書けるので、これはこれで便利だけどさー。
150:あぼーん
あぼーん
あぼーん
151:デフォルトの名無しさん
08/12/14 12:42:47
ORMはDTOの管理を軽減してくれるもの、統一的な扱い方を提供するもの、
と考えればそんなに問題はないと思うけどな。
つまり前提としてSQLを知っている人が楽をするために導入した、と。
別に両者とも併用できるわけだし、ゴリゴリ書いたほうがいいような場合は
そうやればよい。通常のUIにはORMだけで問題はないだろう。
JPAをみてると積極的にキャッシングするので、局所性がある場合パフォーマンスも悪くはない。
あれは元々EJB3の1仕様だからWebコンテナの上で動かすのはオマケだと考えると納得がいく。
152:デフォルトの名無しさん
08/12/15 20:02:41
ちょっと違うかもしれないけど、
きしだ氏のブログでも話題になってましたね。
URLリンク(d.hatena.ne.jp)
自分はひがたんのところ経由で飛んだけど。
URLリンク(d.hatena.ne.jp)
ところで、
きしだ氏
> JPAが大切だと思っているのは、永続パラダイムの転換に、コーディングを変えることなく対応できるからです。
> もちろんJPA+RDBMSのシステムをJPA+非RDBMSに切り替えれるという話ではなく、
> プログラマのコードの書き方の対応の話です。
このように、オブジェクト←→永続化において、永続化層を RDB に限定せずに抽象化したのに JDO があったけど、
あれははやらずじまいになってしまったな。
出てきたときは、結構注目してたんだけど。Caster JDO とか。
153:あぼーん
あぼーん
あぼーん
154:デフォルトの名無しさん
08/12/16 10:17:49
>>152
JDOなつかしいなぁ
155:デフォルトの名無しさん
08/12/17 07:29:56
DAOパターンを正しく実装するならJDOのがいいはずなんだけどね。
JPA使うと「EntityManagerこそがDAO」みたいになってしまう印象が。
156:デフォルトの名無しさん
08/12/17 19:54:19
DAOパターンを正しく実装する必要性が薄いということでは?
157:あぼーん
あぼーん
あぼーん
158:あぼーん
あぼーん
あぼーん
159:デフォルトの名無しさん
08/12/18 00:39:36
>>155
JPAとかはいわゆる現実解だと思うよ
厳密だけど面倒ってのがEJB2.1までのEJB+CMP+DTOになっちまうから
160:あぼーん
あぼーん
あぼーん
161:デフォルトの名無しさん
08/12/19 00:07:44
わっふるわっふる
162:デフォルトの名無しさん
08/12/19 22:02:29
ORというものを技術的には理解できるのだが、
それでもいまいち何に使うのかが理解できない。
テーブル構造からSQLとbeanを自動生成するとしてもだ、
テーブル単体に対してSQLを発行するわけじゃないよね?
業務の単位としての処理をどうやって自動生成するの?
手書きなの?
163:デフォルトの名無しさん
08/12/19 22:21:34
色んなテーブルのbeanをどんどんpersistしてやればいい。
flushするときにバッチアップデートするように処理される。
あとselectで取得したbeanはキャッシュされたりもするから速い。
SQL最適化以前にこの手のキャッシュで差が出る事も多い。
ただしORは1レコード1要素の制約にしばられるから、
横断的な更新ならupdate文を直接送らなきゃあかん。
そんなケースは少ないから大きな問題にはならんけど。
164:デフォルトの名無しさん
08/12/20 10:29:32
DBのテーブル定義をORMで定義されるクラス群に集約することにより
SQLだと繰り返し記述することになるテーブル構造部分や結合関連の記述を省略する
SQLの「繰り返し書くことになるめんどくさい部分」を極力ソースから省くのが目的
結合関連をEntityのメソッドで追えたり、関連Entityを追加できるようになるので
編集処理などにも向いていると思う
後は楽観ロックなどが標準装備されているFWが多いので、
こういった処理を独自で実装する必要がない
テーブル定義をマッピングする性質上、
テーブル構成と業務上のモデルにあまりにも隔たりが大きく
ビューを多用したりしているようなシステムには向かない
業務単位としてのクエリは、JPAだとJPQLを使ったり、2.0で追加されるCriteriaを使う
同様のことをS2JDBCなどは、APIを使ってなるべくタイプセーフに行えるようにしている
165:デフォルトの名無しさん
08/12/20 19:13:51
HQL覚えるとかいやなんだけど
166:デフォルトの名無しさん
08/12/20 19:19:50
SQL方言の一つだと思えばどってことない
167:デフォルトの名無しさん
08/12/20 19:30:04
SQLの方言を吸収するためにORMかますのに本末転倒すぎる
168:デフォルトの名無しさん
08/12/20 19:44:54
一つの方言で全部済むならそれでいいじゃん
169:デフォルトの名無しさん
08/12/20 19:46:09
Javaのオブジェクト指向とインピーダンス合わせるために使うのにHQLとか
170:デフォルトの名無しさん
08/12/21 00:33:01
Hibernateの設計が悪い。
171:デフォルトの名無しさん
08/12/21 01:35:05
インピーダンスwwww
172:あぼーん
あぼーん
あぼーん
173:デフォルトの名無しさん
08/12/22 17:37:25
>>167
方言吸収が目的というより、.netのLINQと一緒で
オブジェクトに対するクエリ発行が目的だと思う
SQLの検索系機能自体は強力だから、このメリットを活かしたままで
マッピングしたEntityをベースに使う為のもの
それでもSQLでないクエリを書くのが嫌なら、Criteria系を試してみるといい
174:デフォルトの名無しさん
08/12/22 20:02:30
ふと気づいたが、JPAとかじゃなくてJDBC4.0でよくね?
175:デフォルトの名無しさん
08/12/22 20:18:46
JDBCはSQLExceptionの処理が面倒だからなぁ
JPAの例外は全てRuntimeExceptionになっているから
AOP等で一気に例外処理の設定がしやすい
176:あぼーん
あぼーん
あぼーん
177:あぼーん
あぼーん
あぼーん
178:あぼーん
あぼーん
あぼーん
179:あぼーん
あぼーん
あぼーん
180:あぼーん
あぼーん
あぼーん
181:あぼーん
あぼーん
あぼーん
182:デフォルトの名無しさん
08/12/30 23:40:55
[ INFO ] SpringOneにて新生Tomcat Server、VMware社とのパートナー契約、ActionScriptの提供が発表される
URLリンク(www.infoq.com)
183:デフォルトの名無しさん
08/12/30 23:42:01
[ AJAX ] DWR 3.0 Release Candidate 1 リリース
URLリンク(directwebremoting.org)
184:あぼーん
あぼーん
あぼーん
185:あぼーん
あぼーん
あぼーん
186:デフォルトの名無しさん
09/01/02 21:40:47
l:.:.:*ゞx : : (: : `ヽ、: : :.ヽ_: : ヽ、} l
ト- ': : :._ > ― f' ¨下. ̄.ト、 ̄` ヽ、 }
ノー'´ ̄ / l. ,ィ ! } ヽ._レ}-ir' i ,>
∠ィ 「` 7 十ァ-j、/l イ! ヘlニj_ハ. ハ | !
/ i .i ,' ,ィt7示x jノ j' '行h;} jノ!| ソ .l HYBERNATE使ってる人は
{ ハノV / ト'じ_;:} 弋tタ ! !i i | お正月だしちょっと人生考えたほうがいいかもしれないね!
ゝ} | 乂クソ 、 、、 ! i.| ', !
,'-| ト, 、、 ! ! l ', !
. 人ニ! | - 、 / |l ',. i
, ``| |ヽ、 '´ イ.| !| ヘ V
,' i ! |. ` 、 r' ! | | .| 、. ヽ\
,' | i| |`丶 __ _フ ´) V || ! .| i ヽ
,' レ'T. | / \_l| |__| ', /
187:あぼーん
あぼーん
あぼーん
188:あぼーん
あぼーん
あぼーん
189:あぼーん
あぼーん
あぼーん
190:あぼーん
あぼーん
あぼーん
191:あぼーん
あぼーん
あぼーん
192:デフォルトの名無しさん
09/01/11 23:19:03
ただのクソスレか
193:あぼーん
あぼーん
あぼーん
194:あぼーん
あぼーん
あぼーん
195:デフォルトの名無しさん
09/01/17 01:51:21
結構売れてんだな
196:あぼーん
あぼーん
あぼーん
197:デフォルトの名無しさん
09/01/21 18:31:08
Java + DB に詳しい方がいると思って質問です。
Java から Oracle に対して大量にデータ更新をする処理を何度も行うするバッチがあります。
(Spring + iBatis、Java 5、Oracle 10i)
・一度のメソッドの中で、5000件ぐらい、insert したり update する
・そういうメソッドを 30 回ぐらい呼ぶ
いまは、ふつうに for 文で対象件数分回して、そのなかで insert や update を実行しています。
こういった処理を高速化するにはどうしたらいいでしょうか?
・JDBC には addBatch() 方式があり、iBatis 経由で組み込んでちょっと実験してみたが、
気持ち早くなった気がするものの、あまり目立った効果を感じない
質問1:
JDBC addBatch() 方式は、パフォーマンスアップとして有効か?
JDBC ドライバの実装次第というのをどこかでみたが、Oracle JDBC ドライバの場合は?
質問2:
大量データの投入、更新にストアド化は有効か?
ストアドが有効な場面は、何度かSQLを呼び、結果を Java 側に fetch してきて Java 側で編集して RDB に書き戻すような場合だと
思っていますが、単に大量データを投入するような場合でも有効でしょうか。
単純な insert / update するような ストアド を RDB にロードしておき、Java からパラメータだけを配列渡しにする、みたいな。
他にも何かいいアイデアがあれば教えてください。
198:デフォルトの名無しさん
09/01/21 18:38:54
>>197
JavaでCSV(TSV)ファイルを作成してOracleにインポート
199:デフォルトの名無しさん
09/01/21 19:35:09
PreparedStatementのキャッシュが効いてないとか。
200:デフォルトの名無しさん
09/01/21 19:51:11
リレーション具合にも夜から一概に言えない。
CSV読み込みで高速処理できるなら。トランザクションで一括処理すれば同程度には出来るかも。
そのへんはDBAのコンサルが詳しい。
201:あぼーん
あぼーん
あぼーん
202:デフォルトの名無しさん
09/01/23 23:52:23
>>197
public void addHoge(final List a)throws DataAccessException{
/* unDivide */
getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
Iterator it = a.iterator();
executor.startBatch();
while (it.hasNext()) {
String str = (String)it.next();
executor.insert("insert_sql", str);
}
int rowsaffected = executor.executeBatch();
return new Integer(rowsaffected);
}
});
}
これ以上はストアド化する他ないかな?
DBがOracleならストアド化しとけばいいんじゃない?
203:あぼーん
あぼーん
あぼーん
204:あぼーん
あぼーん
あぼーん
205:あぼーん
あぼーん
あぼーん
206:デフォルトの名無しさん
09/01/29 19:52:08
ちょっと教えてもらいたいんだけど
整合性のとれていないDB(それがそもそも間違ってるんだが…)で
@ManyToOne の参照先エンティティが存在しなかった場合に
エンティティを自動的に生成するなりして例外を発生させない処理って
エンティティクラス内だけで実装可能?
207:デフォルトの名無しさん
09/01/30 01:00:03
>>206
回答になっているか分かりませんが。
URLリンク(72.14.235.132)
OTNのBBSがメンテ中なのでキャッシュから。
jpa 自動生成 エンティティ でググってみた。
ってか、JPAを使わないとダメなのかな?
iBATISならSQLとJavaBeanをマッピングすればおkなのですが・・・。
208:デフォルトの名無しさん
09/01/30 03:53:45
整合性の取れてるまともなDBを作ってそっちをマスターにしたら?
今までの整合性無いDBへのリレーション維持の要求にはバッチ処理とかで旧システム互換取ればよくね? リアルタイムでもいいけど。
209:デフォルトの名無しさん
09/01/30 14:15:38
>>206
そういう外部キー制約に関する整合性が取れてないDBと
JPAとの相性はすこぶる悪い
他のORM使った方がいいと思う
Hibernateの場合、一応例外を発生させないような設定オプションはあるけど
それでも、できるだけ採用しない方が無難
210:デフォルトの名無しさん
09/01/31 20:02:00
今ウチで保守をやってるシステムだと、
・各テーブルの末尾に「削除フラグ」列があって、
ここに 1 が入っている行はオンライン処理対象外とし、
日次夜間バッチでDELETEする
・マスタ系のテーブルやコード・区分テーブルには
「適用開始年月日」「適用終了年月日」列があって、
すでに無効になったデータも履歴として管理していて、
現在有効なデータを取得する条件として
「開始日 <= システム日付」かつ「終了日 >= システム日付」
を指定している
っていう処理があるのね。
で、こういう処理ってウチだけじゃなくて、他でもやってると思うんだけど、
そういった汎用的な処理を簡素化してくれる機能付きのO/Rマッパーって無いかな?
「特に指定しなければ、デフォルトで論理削除されてないデータのみを取得する」とか
「特に指定しなければ、デフォルトで現在有効なデータを取得する」とか、
O/Rマッパーが統一的に面倒見てくれると嬉しいんだけど、どうなんだろ?
それともそういうのって、O/Rマッピングを超えてるのかなぁ……
211:210訂正
09/01/31 20:02:47
誤:それともそういうのって、O/Rマッピングを超えてるのかなぁ……
正:それともそういうのって、「O/Rマッピング」の範疇を超えてるのかなぁ……
212:デフォルトの名無しさん
09/01/31 20:08:47
>>210
DBFluteってのがそこら辺の面倒みてくれたキガス
213:デフォルトの名無しさん
09/01/31 20:31:59
>>210
COBOL系のシステムで見られる手法でRDBとは相性が悪いが、
底辺の現場で多く使われている。
たいていキーや関連が破綻している。
214:デフォルトの名無しさん
09/01/31 20:33:46
>>210
ウチはサマリの集計処理とか、要らないデータの削除処理がストアド(pl/pgSQL)で動いてますね。
基本はストアドで、それを1時間に1回、あるいは1ヶ月に1回バッチで呼び出す感じかな?
SpringFramework + iBATIS + PostgreSQL(pl/pgSQL)が一番保守しやすいっス。
他の処理も全部ストアド化しておけば良かったと後悔してますがね。orz
215:210
09/01/31 21:05:08
>>212 サンクス!
ドキュメントを斜め読みした限りでは良い感触かも。
ちょっとexampledb試してくる。
>>214 サンクス!
ウチのシステムはテーブル名に2バイト文字が使われてる等々、
>>213の言うとおりの残念設計だったのでiBatisがダメだったんだけど、
今見たら日本語通るようになってたので、ちょっと調べてみるよ。
ただ、どっちかというと、バッチよりオンライン処理の実装でラクをしたかったり。
10年以上改修を繰り返した結果、特にオン側のコードでスパゲティ化が著しいもんで……
216:デフォルトの名無しさん
09/02/01 02:17:50
メンテ用と本番用のフレームワークで分けて、遮蔽しとけば済む話では?
履歴系とリアルタイム系でシステム分けたい感じだが。
217:あぼーん
あぼーん
あぼーん
218:デフォルトの名無しさん
09/02/05 03:09:14
自分は iBatis はそこそこ経験があり、
Hibernate は、簡単なシステムで経験がある程度です(複雑なjoinが必要なかった)
今度 Spring + Hibernate + JPA のサンプルを作ることになり、
URLリンク(www.amazon.co.jp)
の本を見ながらやりはじめました。
この本の P.87 を見ると「EntityManager に更新に相当するメソッドはない」とありますが、
JPA でレコードを更新するときは、必ず一度 select しておかないといけないのでしょうか?
DB を更新する際に、一度 select せず、いきなり update 文で一括更新したいこととかあると思いますが、
----------------------------
例:
年度の締め処理において、「契約状態フラグ = "契約済み"」 となっているレコードを「締め済みフラグ = "締め済み"」にする。
SQL の例:
update 契約情報 set 締め済みフラグ = '締め済み'
where 契約状態フラグ = '契約済み'
----------------------------
219:218
09/02/05 03:10:16
(続き)
こういう場合は、以下の3択でしょうか(他にあれば指摘してください)
(1)対象データを全部 select してきて、for 文でエンティティに更新したい値をセットして反映させる
(2)JPQLか、
(3)ネイティブQuery
(1)だと大量データの時にパフォーマンスで問題がありそう。
(3)のネイティブQuery だと、JPA が持っているキャッシュとDBのズレが生じるというデメリットがある
とどこかで読んだのですが、この認識はあってますか?
(2)のJPQLだと、ネイティブQuery と同じように集合演算的に扱え、かつ JPA が持っているキャッシュと同期がとれると理解しています。
SQL を避けるために O/R マッパーを使っているのに、String で SQL モドキの言語を生成するのはイヤですが・・・
結局 データを集合的に扱いたければ、JPA や Hibernate のような O/R マッパは向かない、ということになるのかな。
220:デフォルトの名無しさん
09/02/05 03:19:44
JPQL使ってもキャッシュと同期は保証されない
ただし自分でEntityManager#flush()することができる
221:デフォルトの名無しさん
09/02/05 03:22:53
while(1)
{
wakeup;
static int day;
int time = wakeuptime();
while(1)
{
2ch;
if(time == Daytime())
{
lunch;
};
if(time == nighttime())
{
supper;
};
if( time == sleeptime();)
{
break;
}
time++;
}
day++;
sleep;
}
こんな毎日、無限ループって怖いよな;;
222:デフォルトの名無しさん
09/02/08 21:21:22
>>221
なんか1日が終わらない気がするけどどうでもいいや
223:デフォルトの名無しさん
09/02/09 10:27:02
EclipseLink関連のドキュメントで良い奴ありますか?
公式のExampleが1.0.2で動かないので、1.0.1で試してみたら動く、とか、
適当も良いところなんですが。。。
224:デフォルトの名無しさん
09/02/14 11:55:06
EclipseLink 1.1ってなかなか出ないね
225:デフォルトの名無しさん
09/03/12 16:53:18
EclipseLink 1.1age
226:デフォルトの名無しさん
09/03/28 21:54:49
EclipseLink新ロゴ
URLリンク(www.eclipse.org)
227:デフォルトの名無しさん
09/03/31 04:40:35
PreparedStatementのキャッシュをコネクションを超えてプール出来ないものかねぇ。
DB側ではセッションとかも浪費してると思うと何だかね。(俺の知識が古い?)
JDBCにPreparedStatementの構文でストアド登録できる機能みたいなのが欲しい。
まあこんな機能はチラシの裏すぎるとは思うが。
228:デフォルトの名無しさん
09/04/05 14:54:58
_.. -―- ._
./ ,――‐- ._` .
/) ./ / / ``\
///)ィ7T.フ厂 ̄`フi ‐-_ |〉. _人人人人人人人人人人人人人人_
/,.=゙''"/ フl/_×// |ハハl .ト、> 細かいことはいいんだよ!! <
/ i f ,.r='"-‐'つイ._T_i` .r≦lハ!|`` ^^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄
/ / _,.-‐'~| |'弋..!ノ i'+!l |
/ ,i ,二ニ⊃l |' ' ' ,‐- ..__゙ー' .!l .|
/ ノ i l゙フ..,!l .ト、 l `,! .ハ.!
,イ「ト、 ,! ,!|.../_| |l: > .ヽ.. ィ <l l|
/ iトヾヽ_/ ィ"\. | | \ \ー'/ ./ ,,;:`:;'゙
229:あぼーん
あぼーん
あぼーん
230:あぼーん
あぼーん
あぼーん
231:あぼーん
あぼーん
あぼーん
232:あぼーん
あぼーん
あぼーん
233:デフォルトの名無しさん
09/04/12 09:25:13
>>227
ふっ
234:デフォルトの名無しさん
09/04/20 19:42:28
hibernateの公式いつまでメンテナンスしてるんだ…
もう3日目くらいだぞ
235:デフォルトの名無しさん
09/05/18 17:56:28
>>101
Z
z
z
<⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
236:デフォルトの名無しさん
09/06/01 13:22:13
Hibernate について質問させて下さい。
(Hibernate バージョンは 3.2.5GA、DB は MySQL 5.0 を使用しています)
DetachedCriteria で条件分岐(case 式) を使うことはできますでしょうか?
以下のようなテーブルにおいて、
id | nameOfferer | nameOfferee
------------------------------
1 | foo | bar
2 | aho | foo
3 | hoge | baka
4 | baka | foo
「nameOfferer か nameOfferee のどちらかに
foo が含まれる箇所を抽出し、foo でない方の名前を使って昇順で
ソートされた行を抽出する」、という処理を行い、
aho
baka
bar
という結果を抽出したいのです。
HQL では以下のように記述し、動作することを確認しました。
select (case when nameOfferer=:nameUser then nameOfferee else nameOfferer end)
from FriendImpl where (nameOfferer=:nameUser or nameOfferee=:nameUser)
order by (case when nameUserOfferer=:nameUser then nameOfferee else nameOfferer end) asc
(nameUser には Query#setParameter() で "foo" をセットしています)
これと同様の処理を DetachedCriteria で書きたいのですが、case 式を使う方法が
リファレンス・ APIDOC を一通り見てもわかりませんでした。
どなたかご存知でしたら教えて頂ければ幸いです。
237:デフォルトの名無しさん
09/06/02 00:09:52
教えを請うのに例で baka とか aho を出すことはないだろうよ
238:236
09/06/02 12:47:07
>>237
そんなところをツッコまれるという発想はありませんでした…。申し訳ありません。
239:あぼーん
あぼーん
あぼーん
240:デフォルトの名無しさん
09/06/27 21:12:23
>>101
サテト
∧∧
(・ω・ )
_| ⊃/(__
/ ヽ-(___/
 ̄ ̄ ̄ ̄ ̄ ̄
241:デフォルトの名無しさん
09/06/27 22:17:28
「HYBERNATE使ってみたらどうですかね?」
と発言したら誰も知らなかった現実
ていうかO/Rマッパーという言葉すら通じなかった
もうやだこの現場
242:デフォルトの名無しさん
09/06/27 23:54:51
まぁ必要を感じないんだったらしょうがないよね。
実際そんなもん使わなくても開発はできる訳だし。
243:デフォルトの名無しさん
09/06/28 03:04:44
オブジェクト指向にたどり着けない香具師が、オブジェクト指向のメリットを感じるのは無理。
多くはコボルをjavaでの焼き直しに過ぎない。
業務でハイバネは無いな。責任誰が取るの? 提案者がバグもサポートも遣るよね。言い出しっぺだし。
244:デフォルトの名無しさん
09/06/28 06:42:24
>業務でハイバネは無いな。責任誰が取るの? 提案者がバグもサポートも遣るよね。言い出しっぺだし。
業務でapacheはないな。うんぬん
と、言ってるのと同じにしか聞こえない。
245:デフォルトの名無しさん
09/06/28 07:35:46
ハイバネって言ってる時点で・・・
246:デフォルトの名無しさん
09/06/28 08:20:17
アパチは鯖OSならサポート有るよ。
247:デフォルトの名無しさん
09/06/28 08:37:43
ハイバーネートはJBossでサポートないか?
248:デフォルトの名無しさん
09/06/28 09:26:52
アパッチぐらいならサポートあるけど、ボスは無理だろう。
249:デフォルトの名無しさん
09/06/28 09:34:32
Red Hat がサポート売ってるだろ。
250:デフォルトの名無しさん
09/06/28 11:46:15
ドメインモデルを組めない現場や、組むほどでもない業務ならHybernateは必要ないね。
iBatisでも使ってトランザクションスクリプトでやったほうがいい。
251:デフォルトの名無しさん
09/06/28 18:40:25
ボスのサポート契約するくらいなら、商用マッパー使ったほうがwww
252:デフォルトの名無しさん
09/06/28 22:18:37
商用マッパって例えば?
253:デフォルトの名無しさん
09/06/28 23:09:59
EclipseLink(TopLink)とかじゃね?わかんないけど多分有償サポートあると思うよ。
254:デフォルトの名無しさん
09/07/02 18:03:49
NRI(野村総研)が、オープンスタンディアとかオープンソース救急センターとかで、
Java のいろんなフレームワークの有償サポートやってなかったっけ?
URLリンク(www.nri-aitd.com)
URLリンク(www.nri-aitd.com)
URLリンク(www.thinkit.co.jp)
全部どこかに丸投げしているんだろうけど
255:デフォルトの名無しさん
09/07/03 01:10:18
その手の無料ソフトのためのサポートコストと、有料ソフトの保守契約コスト考えたら?
256:あぼーん
あぼーん
あぼーん
257:デフォルトの名無しさん
09/07/30 15:00:08
SRAとかがやってくれりゃ安くで済みそうなのにな
ところで1期観てなくても観るべきか?
258:あぼーん
あぼーん
あぼーん
259:デフォルトの名無しさん
09/08/10 10:54:32
シャキーン!!
∧ ∧∩
(〃・ω・)オハヨウ
⊂ ノ
(つノ
(ノ
260:あぼーん
あぼーん
あぼーん
261:あぼーん
あぼーん
あぼーん
262:あぼーん
あぼーん
あぼーん
263:あぼーん
あぼーん
あぼーん
264:あぼーん
あぼーん
あぼーん
265:あぼーん
あぼーん
あぼーん
266:デフォルトの名無しさん
09/09/04 00:08:05
いつのまにかあぼーんになってるwww
267:あぼーん
あぼーん
あぼーん
268:あぼーん
あぼーん
あぼーん
269:あぼーん
あぼーん
あぼーん
270:デフォルトの名無しさん
09/09/12 18:47:06
ここ数ヶ月変なのに荒らされているが、このスレは2,3年前までは、
けっこう勉強になる良スレだったのになぁ
今日 Seasar カンファレンス行ってきた
中村さんの doma 聞いてきた
APT を使って Interface から Dao の具象クラスを生成するということで
おもしろそう
doma は単体でも使えるし、他の DI コンテナからも使えるようになっている。
ダウンロードしていじってみることにした
271:あぼーん
あぼーん
あぼーん
272:デフォルトの名無しさん
09/09/13 13:34:17
>>270
Interfaceは手書き?
定義書みたいなの書いてそこから生成とか?
273:270
09/09/14 13:40:17
>>272
手書きです。定義書みたいなのから生成、というのは触れられていませんでした。
そこらへんは S2Dao、S2JDBC といっしょです。
274:あぼーん
あぼーん
あぼーん
275:あぼーん
あぼーん
あぼーん
276:あぼーん
あぼーん
あぼーん
277:あぼーん
あぼーん
あぼーん
278:あぼーん
あぼーん
あぼーん
279:あぼーん
あぼーん
あぼーん
280:あぼーん
あぼーん
あぼーん
281:デフォルトの名無しさん
09/10/01 01:16:06
いい加減にしろよ
スレ違いかつ板違いだろうが
282:デフォルトの名無しさん
09/10/01 01:32:31
今期じゃないけど、またネギま来るみたいね。
283:デフォルトの名無しさん
09/10/01 09:28:41
まったくおまいらときたらw
しかし今更話題になりそうなO/Rマッパーなんて・・・Domaくらい?apt使ってるって以外真新しさはないけど
284:デフォルトの名無しさん
09/10/01 14:25:11
LINQみたいにソースに直接クエリ書いてコンパイルチェックもできたらいいのに
285:デフォルトの名無しさん
09/10/01 17:40:20
それ後のメンテ大変だけどなw
286:デフォルトの名無しさん
09/10/01 18:18:47
そうか?
コンパイラがチェックしてくれるならメンテが大変ってこともないだろう
リファクタリングもできるだろうし、むしろ楽になるかも
287:デフォルトの名無しさん
09/10/01 23:54:42
SeasarのS2JDBCってLINQみたいなのを目指してたんかな
288:デフォルトの名無しさん
09/10/02 05:27:27
コンパイラがSQLのチューニングしてくれる訳でもないし。
せいぜい型チェック程度でしょ。
シーサーは正直やっつけだと思うよ。無茶な仕様だったけどお金取れたから作ってみた的な。
289:デフォルトの名無しさん
09/10/02 05:38:25
>>288
意味が分からんな
コンパイラがチューニングしてくれないとメンテが大変になるのか?なんで?
SQLが別ファイルになっててもチューニングの手間は変わらんだろ
複数のSQLを1回にまとめたりその逆だったりしたらソースにSQL書いてある方が
メンテも楽そうだけどな
290:デフォルトの名無しさん
09/10/02 06:31:22
どの程度の規模のを想定してるか知らんがソースにSQLとかないわ
291:デフォルトの名無しさん
09/10/02 06:40:43
>>290
なんだ、まともに理由も書けないのか
ソースにSQLつっても文字列で埋め込む話をしてるわけじゃないのは分かってるよな?
292:デフォルトの名無しさん
09/10/02 07:39:39
単にクエリ埋め込んでコンパイラチェックするだけが目的なら
SQL文を別ファイルにしてSQLサポートするIDEでチェックするのとあまり変わらないけど
LINQはメソッド形式と使い分けられるから、クエリをカッコで囲んで
どこからでもCriteria的な書き方を混ぜられるのが強みだな
Javaだと言語でのサポートがないから、
S2JDBCやJPA2がやってる型セーフなCriteriaが、似たようなことやれる限界っぽいけど
293:デフォルトの名無しさん
09/10/02 08:50:19
JDK1.1の頃からSQLJというものがあってだな
といいたいところだがLINQと違ってSQLは静的にしか扱えないから
(動的にしたければ文字列w)勝負にならんのよね
294:デフォルトの名無しさん
09/10/02 20:21:30
ソースにSQL書くと何か問題あるの?
295:デフォルトの名無しさん
09/10/02 21:54:55
そうそう。ソースファイルに静的にプログラムコード書くと、コンパイルしないとメンテできないから、
外部ファイルにコード書いて、それ読み込んで実行するようにしなきゃ。
296:デフォルトの名無しさん
09/10/02 22:25:08
それなんてインタプリタw
つまり>>285はコンパイラ型の言語はメンテできないと主張してるわけか
糞だな
297:デフォルトの名無しさん
09/10/02 22:45:40
永続化データの設計は、ロジックとは異なる要件/異なる責任元において設計され、
また変更される可能性があるので、プログラムコードとは分離すべき。
微妙に違う設計のDBに同じプログラムを適用するケースもあるかもしれないし、
DB側の設計変更の度にコードの修正・リコンパイルを実施するなんてナンセンスだ。
。。。という思想に基づいた発言だと思われ。
実際に問題となるほどそういうケースが発生するかどうかは知らん。
DBとロジックの設計は極力分離されるべき、という方針については俺的に同意できる。
あと、安易にコード修正を許すと、問合せ以外のロジックも見えちゃう&弄れちゃうから
気持ち悪い、というのも解らんでもない。
298:デフォルトの名無しさん
09/10/02 22:51:42
Javaにはヒアドキュメントがないから、ソースに埋め込んだSQLを見やすくしようとすると、
行ごとにダブルクォーテーションでくくって連結する必要がある。
ヒアドキュメントがあって、SQL部分だけをコピペして動作確認できるような言語なら、
ソースに組み込んであっても、問題が無いと思う。
コンパイルが云々に関しては、SQL修正してソース修正しなかったらテストしないのか?って言いたい。
どっちにしろ同じテストするんだから一緒だし、同じテストですまないなら、そこに問題がある。
299:デフォルトの名無しさん
09/10/02 22:53:42
テストは開発環境無くてもできるっしょ
300:デフォルトの名無しさん
09/10/02 23:07:28
>>298
発端(>>284-285)はLINQなんでSQLを文字列操作する話はなしな
Javaでも今時文字列操作はないけどな
301:デフォルトの名無しさん
09/10/02 23:09:34
>>299
AntやMavenでテスト流す場合でもコンパイル一緒にするだろ
302:デフォルトの名無しさん
09/10/02 23:45:11
上記のような思想に基づいてSQLを外部ファイルに外だししたシステムがあったけど、
何かの改修でSQLファイルだけいじったら、SQL側に不具合があって、システム止まって怒られてた。
ちゃんとテストしろとゆいたいですな。
303:デフォルトの名無しさん
09/10/03 00:25:53
OODB使えば、全て解決だぜ!
304:デフォルトの名無しさん
09/10/03 00:27:56
OODBにもOQLという問い合わせ言語があってだな・・・
305:あぼーん
あぼーん
あぼーん
306:あぼーん
あぼーん
あぼーん
307:あぼーん
あぼーん
あぼーん
308:あぼーん
あぼーん
あぼーん
309:デフォルトの名無しさん
09/10/03 16:04:47
せっかくまともな流れになってたのにまた出てきたのか池沼
氏ねよ
310:デフォルトの名無しさん
09/10/03 16:31:05
アニメ見てないなんて友達居なさそうだなw
311:デフォルトの名無しさん
09/10/03 17:30:09
>>310
見てるか見てないかじゃない、ここでする話じゃないんだよ
スレタイも読めないのか?
312:デフォルトの名無しさん
09/10/03 20:31:01
カルシウムの足らなさそうなのがいるなw
313:デフォルトの名無しさん
09/10/03 20:37:18
何を言おうがスレ違い・板違いを正当化はできねーんだよ
消えろ屑
314:デフォルトの名無しさん
09/10/03 21:33:40
目的は端から嫌がらせなので諭すだけ無駄
315:デフォルトの名無しさん
09/10/03 22:09:38
だが放置しといたら調子に乗って1年も居座りやがったからな
削除依頼してる人や管理人に迷惑かけやがって糞野郎が
316:デフォルトの名無しさん
09/10/03 22:30:55
せっかく >>304 まで、このスレらしいいい流れだったのに・・・・
Empire-DB
URLリンク(incubator.apache.org)
知っている人は、だいぶ前から知っていると思うけど。
S2JDBC の Apache 版みたいなものかな。
Java じゃないけど、Ruby にも S2JDBC みたいな、流れるインターフェース型の O/R マッパー
Sequel というのがあるね。
317:あぼーん
あぼーん
あぼーん
318:あぼーん
あぼーん
あぼーん
319:あぼーん
あぼーん
あぼーん
320:あぼーん
あぼーん
あぼーん
321:デフォルトの名無しさん
09/10/08 19:52:59
質問です。hibernateでhbm2ddlを使ってテーブル作成をしているのですが、
外部キーの名前がFK0123456789ABCDEFのような名前として生成されてしまいます。
hbmファイルで外部キーの名前を指定する方法はありませんか?
322:デフォルトの名無しさん
09/10/08 20:09:05
>>321
<many-to-one>のcolumn属性または<column>のname属性
323:321
09/10/09 16:53:25
>>322
それはフィールド名ですよね?
でも自己解決しました。many-to-oneのforeign-key属性でした。
ありがとうございました。
324:デフォルトの名無しさん
09/10/09 17:38:04
>>323
フィールド名は<many-to-one>のname属性
column属性は公式のドキュメントによると
column (optional): the name of the foreign key column. This can also be specified by nested <column> element(s).
となってる
325:あぼーん
あぼーん
あぼーん
326:あぼーん
あぼーん
あぼーん
327:あぼーん
あぼーん
あぼーん
328:あぼーん
あぼーん
あぼーん
329:あぼーん
あぼーん
あぼーん
330:あぼーん
あぼーん
あぼーん
331:デフォルトの名無しさん
09/10/12 20:14:03
>>325-330
うぜぇ死ねマジで死ね
332:デフォルトの名無しさん
09/10/12 21:42:56
削除依頼したほうが早いかと・・・
333:デフォルトの名無しさん
09/10/12 21:49:34
削除ってかアク禁してもらえないの?
んでプロバイダから自宅に連絡行くようなやつ
334:デフォルトの名無しさん
09/10/12 22:04:50
ここまで執拗に荒らしに来るのはなんでかね。愉快犯?
ここ見始めたの最近なんだけど、過去になんかあったん?
335:デフォルトの名無しさん
09/10/13 10:28:46
>>334
同じく。ネタ的にDB板の方があってるだろうに、なぜかこのスレにいるんだよな?
いや、DB板見てないので、実はそっちにも出没してるのかもしれないが。
336:デフォルトの名無しさん
09/10/17 12:59:03
hibernate = JPA ?
337:デフォルトの名無しさん
09/10/17 13:09:27
JPQLからDAOクラスと入力DTOを出力DTOを自動生成するツール作りたいけどなんかよさげな方法ないかなー
338:デフォルトの名無しさん
09/10/17 17:08:34
>>336
Hibernate本体は違う。
JPAのインターフェースを持たせたのがHibernate EntityManager。
Hibernate独自のAPIは補助的に使う程度で、
あくまでもJPAのインターフェースで開発するのが主流。
>>337
JPA使ってるならDAOは必要ないのでは?
DTOはselect New使いたい場合ということ?
339:あぼーん
あぼーん
あぼーん
340:デフォルトの名無しさん
09/10/21 00:10:27
JPAって再帰問い合わせ(connectbyとかwith recursiveだっけ?)には対応してる?
メジャーなRDBMSはMySQL以外は対応してるから、パフォーマンス問題はなさそうだよな。
H2databaseとかは逐次呼び出しである程度遅くなってもいいし。
341:あぼーん
あぼーん
あぼーん
342:あぼーん
あぼーん
あぼーん
343:あぼーん
あぼーん
あぼーん
344:あぼーん
あぼーん
あぼーん
345:あぼーん
あぼーん
あぼーん
346:あぼーん
あぼーん
あぼーん
347:あぼーん
あぼーん
あぼーん
348:あぼーん
あぼーん
あぼーん
349:あぼーん
あぼーん
あぼーん
350:あぼーん
あぼーん
あぼーん
351:あぼーん
あぼーん
あぼーん
352:あぼーん
あぼーん
あぼーん
353:あぼーん
あぼーん
あぼーん
354:あぼーん
あぼーん
あぼーん
355:あぼーん
あぼーん
あぼーん
356:あぼーん
あぼーん
あぼーん
357:あぼーん
あぼーん
あぼーん
358:あぼーん
あぼーん
あぼーん
359:デフォルトの名無しさん
09/12/01 19:15:30
いつまでスレ違いの話題を続ける気だ。
幼稚すぎる。
360:デフォルトの名無しさん
09/12/01 22:11:12
1年以上に渡って黙々と嫌がらせを続けてるんだし、言うだけ無駄。
しかし、この凄まじい執念は何だろうね。
ORマッパに親でも殺されたんだろうか。怖ええ。
361:デフォルトの名無しさん
09/12/01 22:23:37
iBatisってあまり使われてないのかな?
今はJPA一色?
362:デフォルトの名無しさん
09/12/01 22:25:16
おれはs2jdbc
iBatisはSQL用意するのがめんどくさい。
型安全じゃなくて神経使うし。
363:デフォルトの名無しさん
09/12/01 22:30:18
確かにS2JDBCは便利だけど、
S2JDBCってS2コンテナが必要だよね。
DIコンテナがSpringしか使えない場合はどうするんだろうか。
やっぱりHibernateとかToplinkなの?
364:デフォルトの名無しさん
09/12/01 22:35:29
実績ではspring+hibernateが多いだろうね。
ぶっちゃけdiコンテナ自体、話にあがるほど採用されてないようにも思うけど。
個人的にはspringだったらibatisの組み合わせでいきたいかな。
365:デフォルトの名無しさん
09/12/01 22:40:56
やっぱりS2JDBCは便利すぎるわ。
DBFluteが気になっているけど、あんまり使われてないかな。
366:デフォルトの名無しさん
09/12/01 23:02:29
iBatisは仕組みがシンプルな分気楽に使い始める事ができるのがいいやね。
Hibernateは覚える事多いのと、融通が利かないのが困り者。
そもそも楽がしたくてフレームワーク導入したのに、諸々面倒が多い気がする。
s2は正直食わず嫌いなんだよな。
なんか国産フレームワークってだけでちょっと敬遠しちゃう。
367:デフォルトの名無しさん
09/12/01 23:07:47
S2のSmart Deployはかなり開発効率あがるよ。
O/R Mapping関係なくてスマンが。
368:デフォルトの名無しさん
09/12/01 23:11:55
iBatisはXMLファイル作らないといけないのか。
369:デフォルトの名無しさん
09/12/02 00:02:54
Domaは、どうでしょうか
370:デフォルトの名無しさん
09/12/02 01:37:54
どうもこうも…
371:デフォルトの名無しさん
09/12/02 04:31:39
まだHibernateが理解出来る事なんて条件の案件有るしなあ。仕様決めた香具師アフォ過ぎ。
s2は将来にわたってメンテされる保証が無いので却下。
長期運用システムだと商用サポート必須。
372:デフォルトの名無しさん
09/12/02 09:53:35
長期運用システムだとJSP/Servletのみで作るのが良い
373:デフォルトの名無しさん
09/12/02 12:36:34
なんでサポートなんているの??
作った時点できちんとテストして問題なければサポート
なんているの?
374:デフォルトの名無しさん
09/12/02 12:57:19
日本の業界の悪癖だから仕方ないな。
375:デフォルトの名無しさん
09/12/02 13:01:54
テストはバグを減らせるが、ゼロにはできない。
376:デフォルトの名無しさん
09/12/02 18:09:03
当然それはそうだけど、商用なら絶対直してくれるなんて
保証あるの?
まぁサポートなんて受けた事ないから知らないけど、
そもそもそんな根本的なバグにぶち当たった事がない…。
377:デフォルトの名無しさん
09/12/02 18:19:00
要は誰に責任を押し付けるかでしょうね。
378:デフォルトの名無しさん
09/12/02 19:01:41
仮にそこで「いやうちのフレームワークじゃないんで…」とか
言い訳したって、「いやいや、それを推したのはおたくでしょ」ってな
事にならないですかね?
379:デフォルトの名無しさん
09/12/02 19:12:46
バグに限った話じゃなく、外製ライブラリのトラブルシュートで
無駄な時間を食うぐらいなら、サポート買った方が断然安いし早い。
少なくとも一般的な開発レートで計算すると、そういう判断に
ならざるを得ないと思うんだけど。
380:デフォルトの名無しさん
09/12/02 21:15:07
自分たちで作ってテストするコストより、
よそから製品を買って年間保守サポートを想定運用年数分払う方が
安くあがる可能性もあるしね。
あと、障害が起きたときにログさえ取っておけば、
その後の対応を他社に丸投げできる分、保守開発要員をほかの案件に
投入できるという実務上のメリットもある。もちろんサポートから
「仕様です(直しません)」と言われた場合は、責任を持って代替案を
提示しなければならないことは、頭の片隅に入れておく必要はあるけど。
381:デフォルトの名無しさん
09/12/02 21:52:14
5年前のシステムで問題出たから調べてくれって言われて対応出来るならサポート不要だと思うよ。
漏れは面倒だから商用サポート契約しちゃうけど。
仕様ですと言われたら、商用サポート切って乗り換えを提案でだいたいうまく予算取れる。
だいたい自分たちで解決しちゃったら、予算取れないじゃん。
無料ソフト使ってシステム作って予算0でじり貧になるのは、自分で何でも解決しちゃうから。システムは金が掛かると認識させてちゃんと予算取りするのも生き残りに必要。
382:デフォルトの名無しさん
09/12/02 22:00:52
そういう政治的な事情以前に、実際に自分たちで手を動かして解決する方が
金掛かると思うんだけど?
レート×調査・対策にかかる時間で天秤に掛けると、サポート契約って格安だよ。
もちろん「トラブルは起こらない」という楽観的予測は論外として。
383:デフォルトの名無しさん
09/12/02 22:24:28
何かつまんない業界だ
384:デフォルトの名無しさん
09/12/02 23:14:29
そんなもんだよ
385:デフォルトの名無しさん
09/12/03 02:02:46
>システムは金が掛かると認識させてちゃんと予算取りするのも生き残りに必要。
言いたい事は分かるけど、そのうち中身がバレて生き残れなくなるに10票
根本的に、そもそもROIに合っていなければシステム開発業なんて
衰退の道を辿る運命じゃないかね。
そしてROIに合わせるための無理矢理の工数設定→デスマーチ。
…御愁傷様です。
386:デフォルトの名無しさん
09/12/03 03:25:11
いつまでスレ違いの話題を続ける気だ。
幼稚すぎる。
387:デフォルトの名無しさん
09/12/03 03:31:28
1年以上に渡って黙々と嫌がらせを続けてるんだし、言うだけ無駄。
しかし、この凄まじい執念は何だろうね。
ORマッパに親でも殺されたんだろうか。怖ええ。
388:デフォルトの名無しさん
09/12/03 07:10:28
開発目的の中心にエネルギーを集約するから仕事に付加価値が付くのであって、
何でも自分たちでやりたい、なんてのは単に開発者のエゴなんだよ。
餅は餅屋、プロがやった方が安くて早い。
面白そうだから、個人的に興味があるから、なんて理由はビジネス的にNGだよね。
そういうのは業務時間外にやっとくれ、って話になっちゃう。
389:デフォルトの名無しさん
09/12/03 08:27:41
>>386
いいじゃん別に。
よっぽど他に話したい事があるんなら別だが。
なんか話題あんの?
あと何か勘違いしてる様だけど俺はつい先日このスレに来たばっかり。
1年以上とか意味が分からん。
>>388
俺は開発目的を考えろという部分には全然異論ないですよ。
ただ、サポートが必要という意味がいまいちよく分からなかった
だけです。まぁ、それが責任の位置づけとか問題を丸投げできるとか、
そういう事に対する価値だとしたら、分からなくもないです。
ただ、実体のない予算取りみたいな意味なら全く同意できませんね。
それは、そのうち絶対バレるし、業界全体のためにもならない。
根本的にビジネスモデルがおかしくなってる証拠だし。
390:デフォルトの名無しさん
09/12/03 12:25:52
>>389
それはもう少し前のレスのコピペだよ。
もう少し前読むと関係ないアニメの話してる奴がいるの。
391:デフォルトの名無しさん
09/12/03 16:43:43
>389
サポート無しじゃ問題解決に余計な金と時間が掛かるケースが多い、というだけの話。
ノウハウを金で買うと思えば良い。
フレームワークの仕様(バッドノウハウ含め)を熟知したエンジニアを安定して確保するなんて
非現実的過ぎる。
392:デフォルトの名無しさん
09/12/04 00:36:57
自分の所のシステムだけじゃ開発ノウハウ堪らないしね。
あちこちで使われてる商用フレームワークだからこそノウハウ詰まってるしバグもみんなで潰してメリット傍受出来る。商用フレームワークの開発エンジニアの生活を保守契約払って支えてるから、そのエンジニアがオープンソースの成果物を無料で配布出来たりする訳で。
無料だからという理由でオープンソース採用しちゃったら、エンジニアが飯喰えなく成るよ。それが対費用効果的にビジネスモデルとして正しくても、エンジニアが絶滅する道を選ぶ事は無い。
ちゃんと価値有るものには対価を払うからこそ、エンジニアの価値が維持され、生活が安定してオープンソースとかの無料配布で金にならないお遊びが可能な訳で。
393:デフォルトの名無しさん
09/12/04 00:49:37
そういえば、O/Rマッパーで商用サポートがあるのって、
Hibernate以外に何かあったっけ?
394:デフォルトの名無しさん
09/12/04 00:53:22
OpenJPAとToplinkもサポートあるな
395:デフォルトの名無しさん
09/12/04 12:41:27
そうなると利害無視の自宅警備員プログラマこそ、真の恐怖だな。
利害関係なくすごいものを作る→本職プログラマあぼーん
396:デフォルトの名無しさん
09/12/04 16:33:03
そんな得体の知れないシステムが金になるとは思えないので影響なし
397:デフォルトの名無しさん
09/12/04 18:16:36
Apacheは?
Tomcatは?
398:デフォルトの名無しさん
09/12/04 18:20:57
いくらなんでもApacheやTomcatの開発者に失礼
399:デフォルトの名無しさん
09/12/04 18:49:54
東方キャラ
400:デフォルトの名無しさん
09/12/04 18:51:10
ごめんなさい、誤爆しました
401:デフォルトの名無しさん
09/12/04 20:14:28
東方キャラ
402:あぼーん
あぼーん
あぼーん
403:デフォルトの名無しさん
09/12/04 23:59:16
RailsのActiveRecordみたいのないの?
404:デフォルトの名無しさん
09/12/05 00:44:06
>>403
ActiveObject というのを以前見たことがある。
でも Rails やったことがある人ならわかると思うけど、
ActiveRecord の便利なのは、method missing による動的finder だと思うので、
Java だと限界があるのではないかな。
ActiveObject の使用例を少し見て、やっぱむりがあると思った。
405:あぼーん
あぼーん
あぼーん
406:デフォルトの名無しさん
09/12/05 13:52:47
EE6でJPA2.0になるみたいだけど、そんなに変わるんだろうか。
407:デフォルトの名無しさん
09/12/05 16:16:31
>>406
JPA 2.0 で、Hibernate みたいな criteria みたいなのをサポート、というのをどこかで聞いた。
キーワードもうろ覚えなので間違ってたらすみません。
408:デフォルトの名無しさん
09/12/05 18:08:36
Java Persistence Criteria API
409:あぼーん
あぼーん
あぼーん
410:あぼーん
あぼーん
あぼーん
411:あぼーん
あぼーん
あぼーん
412:あぼーん
あぼーん
あぼーん
413:あぼーん
あぼーん
あぼーん
414:あぼーん
あぼーん
あぼーん
415:デフォルトの名無しさん
09/12/27 12:38:31
ココハダレ?ワタシハドコ?
∧ ∧ ∧ ∧
(゚Д゚,,三,,゚Д゚)
/ |
(,,_/
/
416:あぼーん
あぼーん
あぼーん
417:あぼーん
あぼーん
あぼーん
418:あぼーん
あぼーん
あぼーん
419:あぼーん
あぼーん
あぼーん
420:あぼーん
あぼーん
あぼーん
421:あぼーん
あぼーん
あぼーん
422:あぼーん
あぼーん
あぼーん
423:デフォルトの名無しさん
10/01/19 01:55:07
え???
なんだここ?
異次元に迷い込んだようなスレ違い書き込みがあるんだけど、なんだここ?
ところでiBatisってあんまり人気が無いのかな?
SQLが柔軟に書けるってところでかなり惹かれてるんだけど。
今担当しているシステムのDBが巨大かつ複雑すぎて、
Oracleの神みたいな人がスーパーSQLを書かないと
パフォーマンスが出ないような処理もある恐竜システムになっていてね・・・
以前S2Dao使っていてHibernateとかJPAもさっくり見てみたけど、
ああいうのってSQLのチューニング的なこと無理っすよね?
(要はそういうシステムをターゲットにしていない)
424:デフォルトの名無しさん
10/01/19 07:09:54
生のSQLも使えるんじゃないの
425:デフォルトの名無しさん
10/01/19 07:36:34
生のSQLが使えるなら生のSQLだけで作ったほうがいいな
426:デフォルトの名無しさん
10/01/19 10:25:50
iBatis、別に人気ないわけじゃなく、けっこう使っているところ多いと思うよ
おれがアサインされるプロジェクトでは、Hibernate や JPA などの ORマッパーだと
n+1 問題等でうまくいかないことがおおいため、うちの部署はたいてい iBatis を使うことが多い。
(自分が Hibernate を使いこなせてないのもあると思いますが)
Java 屋ではなく DBA によるSQL チューニングするときも、iBais の XML を直すだけで
すむことも多いしね。
iBatis も目新しい情報はないが、サイトを見ると ibatis 3 というのが開発中なんだな。
Java5 対応ということで、
(List) queryForList()
のときに @SuppressWarning つける必要がなくなるのか。
427:デフォルトの名無しさん
10/01/19 22:47:53
>Hibernate や JPA などの ORマッパーだと
>n+1 問題等でうまくいかないことがおおいため
単に使い方間違ってるだけでしょ
select * from hogeで全件なめて遅いといっていたCOBOL上がりの人思い出した
428:デフォルトの名無しさん
10/01/20 00:43:36
iBatisは、単純でいいと思うよ。
429:デフォルトの名無しさん
10/01/20 10:57:15
あれ?スレの内容がまともになってる…
430:デフォルトの名無しさん
10/01/20 11:12:24
ジャッジメントですの
431:デフォルトの名無しさん
10/01/22 06:35:19
恐竜システムは酷いSQL実行してたりするからな。
オラクルならログ取れるから録ってみれば。もちろん遅く成るから周知は必要だし、ログいっぱいでシステム止めない様に、ちゃんと張り付いて監視しとけw
432:あぼーん
あぼーん
あぼーん
433:あぼーん
あぼーん
あぼーん
434:あぼーん
あぼーん
あぼーん
435:あぼーん
あぼーん
あぼーん
436:あぼーん
あぼーん
あぼーん
437:あぼーん
あぼーん
あぼーん
438:あぼーん
あぼーん
あぼーん
439:あぼーん
あぼーん
あぼーん
440:あぼーん
あぼーん
あぼーん
441:あぼーん
あぼーん
あぼーん
442:あぼーん
あぼーん
あぼーん
443:あぼーん
あぼーん
あぼーん
444:あぼーん
あぼーん
あぼーん
445:あぼーん
あぼーん
あぼーん
446:あぼーん
あぼーん
あぼーん
447:あぼーん
あぼーん
あぼーん
448:あぼーん
あぼーん
あぼーん
449:あぼーん
あぼーん
あぼーん
450:あぼーん
あぼーん
あぼーん
451:あぼーん
あぼーん
あぼーん
452:あぼーん
あぼーん
あぼーん
453:あぼーん
あぼーん
あぼーん
454:デフォルトの名無しさん
10/03/22 23:00:46
これJava?
455:あぼーん
あぼーん
あぼーん
456:あぼーん
あぼーん
あぼーん
457:あぼーん
あぼーん
あぼーん
458:あぼーん
あぼーん
あぼーん
459:あぼーん
あぼーん
あぼーん
460:あぼーん
あぼーん
あぼーん
461:あぼーん
あぼーん
あぼーん
462:デフォルトの名無しさん
10/05/08 18:06:06
Arteryつかってるやついる?
URLリンク(artery.avaj.jp)
463:デフォルトの名無しさん
10/05/08 18:56:47
いるいるww
464:デフォルトの名無しさん
10/05/18 16:00:02
現状、それなりに普及してて簡単に使えるのって何がオススメ?
社内用のちょっとしたシステムを作るのに利用したいんだけど。
465:デフォルトの名無しさん
10/05/18 21:22:17
JDBC
466:あぼーん
あぼーん
あぼーん
467:あぼーん
あぼーん
あぼーん
468:デフォルトの名無しさん
10/06/07 22:36:44
>>464
おれならActiveObjectかCayenne
469:あぼーん
あぼーん
あぼーん
470:あぼーん
あぼーん
あぼーん
471:あぼーん
あぼーん
あぼーん
472:あぼーん
あぼーん
あぼーん
473:あぼーん
あぼーん
あぼーん
474:デフォルトの名無しさん
10/09/26 13:36:33
むしろハジマタ
475:あぼーん
あぼーん
あぼーん
476:あぼーん
あぼーん
あぼーん
477:デフォルトの名無しさん
10/10/06 17:28:17
ORM(というかEclipseLink)ってResultSetみたいにフェッチでちょっとずつデータを取得するとか出来ますか?
単純にテーブルから引っ張ってくるだけのページなら、JSPに埋め込んでイテレートした方が効率いいなと思ったので質問しました。
478:デフォルトの名無しさん
10/10/06 21:47:55
そもそもSQLの結果セットをDTOに入れ込むという考え方はO/Rマッピングではないね。
479:デフォルトの名無しさん
10/10/06 22:00:19
パフォーマンス問題においてそんな細かい概念なんぞどうでもいいのです
480:デフォルトの名無しさん
10/10/07 00:46:55
このスレの名前いってみろ
481:デフォルトの名無しさん
10/10/07 11:52:21
ポイントソリューションに概念持ち込む方がおかしい
482:デフォルトの名無しさん
10/10/08 00:22:10
まずはそのふざけた幻想をぶち殺す
483:デフォルトの名無しさん
10/10/09 10:02:37
上条さんの説教聞いてると救われた気持ちになります
入信します
484:デフォルトの名無しさん
10/10/09 10:09:10
うぜーよマ板にいけよ
485:あぼーん
あぼーん
あぼーん
486:あぼーん
あぼーん
あぼーん
487:あぼーん
あぼーん
あぼーん
488:デフォルトの名無しさん
10/10/16 19:45:43
何なんだよ、この荒らし
アニメ版でやれよ
489:あぼーん
あぼーん
あぼーん
490:あぼーん
あぼーん
あぼーん
491:あぼーん
あぼーん
あぼーん
492:デフォルトの名無しさん
10/10/24 12:05:10
キモオタご用達のアニメの宣伝はどうでもいい
早く消えろよクズ
493:あぼーん
あぼーん
あぼーん
494:デフォルトの名無しさん
10/10/27 22:32:21
キモオタご用達のアニメの宣伝はどうでもいい
早く消えろよクズ
495:あぼーん
あぼーん
あぼーん
496:あぼーん
あぼーん
あぼーん
497:あぼーん
あぼーん
あぼーん
498:あぼーん
あぼーん
あぼーん
499:あぼーん
あぼーん
あぼーん
500:あぼーん
あぼーん
あぼーん
501:あぼーん
あぼーん
あぼーん
502:あぼーん
あぼーん
あぼーん
503:あぼーん
あぼーん
あぼーん
504:あぼーん
あぼーん
あぼーん
505:あぼーん
あぼーん
あぼーん
506:あぼーん
あぼーん
あぼーん
507:あぼーん
あぼーん
あぼーん
508:デフォルトの名無しさん
10/11/10 11:58:52
JPAでテーブルに関連付けたEntityに
「テーブルに紐付かないフィールド」を追加したいんだけどどうやんの?
エンティティクラスのフィールドは必ず何かの列にひもづいてなきゃだめなの?
509:デフォルトの名無しさん
10/11/10 23:23:35
@Transientじゃない?
510:あぼーん
あぼーん
あぼーん
511:あぼーん
あぼーん
あぼーん
512:あぼーん
あぼーん
あぼーん
513:あぼーん
あぼーん
あぼーん
514:あぼーん
あぼーん
あぼーん
515:デフォルトの名無しさん
10/11/29 22:03:52
JPAのpersistence.xmlで詰まった
tomcatのmyapp/WEB-INF/classes/META-INF/persistence.xmlであってる?
516:デフォルトの名無しさん
10/11/29 22:20:09
>>515
おれの1年半前いじっていたときのフォルダの残骸を見ると、
あっている
517:デフォルトの名無しさん
10/11/30 22:28:16
>>515
俺の適当な記憶だとクラスパス上にあるものが参照されるはず
クラスパス上に複数あるんじゃね?
518:あぼーん
あぼーん
あぼーん
519:あぼーん
あぼーん
あぼーん
520:デフォルトの名無しさん
10/12/10 00:06:13
Hibernate 3.6でSQLのバインドパラメータをログ出力する方法が分からず困ってます。
過去のバージョンではlog4jの設定でorg.hibernate.typeカテゴリのログレベルをTRACEにすれば出力されてたのに3.6では出力されません。
どなたか3.6でバインドパラメータをログ出力する方法ご存じないですか?
521:あぼーん
あぼーん
あぼーん
522:>>515
10/12/13 04:56:03
わかった。実行側(WEB-INF/lib)に
hibernate-entitymanager.libが入ってなかった。
523:>>515
10/12/13 20:28:26
java.persistence.EntityManager(実装が無いやつ)だけで動いてたから
persistence unit が見つかりませんとかエラーがでていたのか
524:デフォルトの名無しさん
10/12/16 00:58:24
>>520
私、ご存知ですよ
525:520
10/12/16 09:12:07
>>524
差し支えなければ教えて頂けますか。
526:あぼーん
あぼーん
あぼーん
527:あぼーん
あぼーん
あぼーん
528:あぼーん
あぼーん
あぼーん
529:あぼーん
あぼーん
あぼーん
530:524
10/12/22 04:05:22
>>525
traceではなくてdebugにしてみてください
531:デフォルトの名無しさん
10/12/27 09:45:42
@Entity
public class A{
@Entity
public static class B{
}
}
こんな状態なんだけどpersistence.xmlでBがよみとれない
内部クラスの表記って以下で間違ってる?
<class>A</class>
<class>A.B</class>
532:デフォルトの名無しさん
10/12/27 10:37:07
自己解決した
$マークなのね
<class>A</class>
<class>A$B</class>
533:520
10/12/27 17:03:25
>>530
試してみたのですが、やはりダメでした…
↓こんな感じでlog4j.xmlに指定しているのですが(泣。
<category name="org.hibernate.type">
<priority value="DEBUG"/>
</category>
うーん…
534:デフォルトの名無しさん
10/12/28 15:06:01
もっと上部階層のレベルから下げて実験してみたら?
<logger name="org.hibernate">
<level value="debug"/>
<appender-ref ref="myConsole"/>
</logger>
535:520
10/12/28 18:08:00
>>534
それも試してみたんですがやっぱり出ないんです(泣
公式のマニュアルにも特に変更されたとも記述されてないし…
これはもうソースたどるしかないかなぁ。 (-_-;
536:デフォルトの名無しさん
10/12/28 19:56:50
>>535
>>534 の設定で、ログレベルの trace は試してみた?
少なくとも通常の Logging フレームワークでは、ログレベルを trace から debug に上げた場合、ログの量が減るだけで
違うログが出てくると言うことはないよ。
537:デフォルトの名無しさん
10/12/29 10:18:35
>>536
自己解決しました。
log4j.xmlのアペンダー設定のThresholdオプションがDEBUGに設定されていたというマヌケな原因でした。
お騒がせして申し訳ありませんでした。
538:デフォルトの名無しさん
11/01/10 23:41:19
S2JDBCみたいなああいう系列のマッパー使ってる人いる?
流れるなんとかってやつ
void test(){
..Query query = new Query(){
....public void build(){
......select("P.name");
......select("H.age");
......from("P", Person.class);
......from("H", Home.class);
......join( "P.key = H.key" , JOIN.INNER);
......where("P.name = ? AND H.age > ?" );
......bind(1,"人の名前");
......bind(2,"家の年齢");
......result( new ResultList(){
........void invoke(String name, Integer age){
..........Printer writer = new Printer();
..........writer.print(name, age);
........}
......});
....}
..});
..query.bind("人の名前", "太郎");
..query.bind("家の年齢", i * 10);
..query.invoke();
}
539:デフォルトの名無しさん
11/01/11 00:53:25
あれは簡単なSQL書くには良いんだけどねえ
540:デフォルトの名無しさん
11/01/11 01:55:50
まあゴミだね。すぐ消えるよ。
そして消えたあとは典型的なメンテ困難ソース。
541:デフォルトの名無しさん
11/01/13 01:01:42
評判悪いのかw
542:デフォルトの名無しさん
11/01/13 01:11:38
Datanucleusってどうなん?
543:デフォルトの名無しさん
11/01/13 02:27:56
>>542
知らなかったので少しググってみたけど、JDOの実装の一種なのかな。
まぁ流行らないかも知れないけど、個人的に JDO はすきだ。
Hibernate を知る前に JDO は少し追いかけていたけど、
O/R マッパーが Object → DataBase を関連づけるのに対し、
JDO は、データベースにこだわらない。
データベースにこだわった O/R マッパーのほうが実業に即していたので
いろんなフレームワークが出たし流行った。
でも JDO のほうが触っていて面白いんだよね。
なんか SmallTalk などで、一生懸命オブジェクト指向しているみたいな。
544:デフォルトの名無しさん
11/01/18 15:51:13
オブジェクト指向しすぎるとパフォーマンス悪いからかな
545:こうですか!?わかりません><
11/01/18 21:28:28
まずいな~!こんなにオブジェクト指向しすぎたら
パフォーマンス悪くなっちゃってまずいな~!
546:σ‐ ̄)ホジホジ・・・( ̄▽ ̄)δ⌒・ピンッ
11/01/18 23:24:51
ですよね~
547:デフォルトの名無しさん
11/01/19 07:50:44
ぼくのちんちんもオブジェクト指向しちゃいました
548:デフォルトの名無しさん
11/01/22 00:04:45
ActiveObjectsを使ってるのだけど sumとかして合計求めたい時ってどうやってやればいいんだ?
EntityManager#findWithSQLとか使おうにもEntityクラスに何設定したらいいのか分からなくて行き詰まった。。
ちなみにDBはMySQL
549:548
11/01/22 01:13:12
ああ、わかった。asを使って別名付けてあげればいいのか。
で、sumした結果はBigDecimalだから上手いこと変換してあげると必要があると。。。
550:デフォルトの名無しさん
11/01/31 07:25:43
BeanKeeperとかpBean知ってる人いる?
プロトタイプ開発によさそうだけど
551:デフォルトの名無しさん
11/02/01 00:32:07
>>550
両方とも初めて知った。
BeanKeeper 、面白そう。少しいじってみようかな。
552:デフォルトの名無しさん
11/02/01 07:21:08
>>551
ナイス 俺も調べてみるよ
553:デフォルトの名無しさん
11/02/01 07:42:47
pBeanは中に入ってたサンプルソース見る限り中途半端で使う価値ないな
BeanKeeperは実に単純でよろしい
URLリンク(d.hatena.ne.jp)
554:あぼーん
あぼーん
あぼーん
555:あぼーん
あぼーん
あぼーん
556:あぼーん
あぼーん
あぼーん
557:デフォルトの名無しさん
11/04/29 23:44:03.50
Hibernateは糞。異論は認めない。
558:デフォルトの名無しさん
11/04/29 23:54:30.72
むしろ異論を見てみたい
まともなのが出せるなら
559:デフォルトの名無しさん
11/04/30 00:42:12.92
>>558
そんなに異論ないほど糞なのかw
あれ最初の一歩から間違ってる感じがして記事くらいしか読んでないんだけど、
実際に使った人の感想は聞いてみたいんだよね。
560:デフォルトの名無しさん
11/04/30 05:06:12.70
S2もHibernateと似たり寄ったりだよなぁ。
つかiBatisだけでいいわ。結局複雑なクエリ発行したいときはSQL書くんだし。
561:デフォルトの名無しさん
11/04/30 09:34:25.37
S2はHibernateほど悪いイメージないのだが。
HQLとかLazy/Eagerみたいな糞仕様ないでしょ。
562:デフォルトの名無しさん
11/04/30 12:37:55.99
JDBCでいいじゃんw
563:デフォルトの名無しさん
11/04/30 13:35:08.80
SpringJDBCぐらいは使いたいわw
564:デフォルトの名無しさん
11/04/30 22:56:42.27
RDB使う以上、SQLは無理に避けないほうがいいんだろうな
Hibernate使って遠回りするなら、JDBCのほうがよっぽどいいと思う
565:デフォルトの名無しさん
11/04/30 23:15:30.50
一人くらいはHibernate支持者来てくれw
566:デフォルトの名無しさん
11/05/01 00:08:51.86
>>257
>>256以前のレスがあぼーんされているみたいだが、何が書いてあったんだ
まあそんなことより。
JavaDBに相応しいO/Rマッパーってなんだろう
Hibernateが最強かな?
567:デフォルトの名無しさん
11/05/01 21:38:13.81
JavaのHibernateの問題点を元に他の言語ではO/Rマッパーを上手く使ってると思う
そしてJavaだけはいつまでもJDBCレベルで作り続けていると
568:デフォルトの名無しさん
11/05/01 22:01:14.66
Javaの言語仕様だと、Hibernateより先の世界に行くのはめんどくさいし。
インテグレーテッドされた式木だとか、動的な処理とか、関数言語的な要素が入ってくると違うんだけど…。
中途半端なものしか出来ないなら、SQL書く方が良いわ、っと思う。
569:デフォルトの名無しさん
11/05/01 22:20:44.94
JavaでSQLベタ書きをメインにするのなら、自分だったらストアド使う
570:あぼーん
あぼーん
あぼーん
571:デフォルトの名無しさん
11/05/01 22:53:32.86
ストアドはデバッグしにくいから嫌い
572:デフォルトの名無しさん
11/05/02 00:58:51.44
Hibernate糞だからってJDBCってのは極端すぎるだろう…
573:デフォルトの名無しさん
11/05/02 02:43:22.78
そこでS2DAOですよ
574:デフォルトの名無しさん
11/05/02 08:19:40.04
2Way-SQLの所だけ文字列Utility化してくれれば、後は好きなマッパーでqueryなりexecuteなりするわ。
Javaだと2Way-SQLあたりが現実的な対応な気はする。
575:デフォルトの名無しさん
11/05/02 08:42:58.52
2Way-SQLは筋はいいけど条件分岐まで入れると見てられなくなりそうだな。
576:デフォルトの名無しさん
11/05/02 11:19:30.78
O/Rマッパーへの拒否反応って、だいたいO/Rマッパーそのものじゃなくて
Hibernateに対する拒否反応だよな
577:デフォルトの名無しさん
11/05/02 12:02:21.35
ここだけ5年前みたいなスレだな
Hibernateの有用性は今更疑うべくもないはずなのに糞扱いで
それに代わるのがSQLべた書き、ストアド、S2Daoって…
ネタだよな?
578:デフォルトの名無しさん
11/05/02 12:12:03.51
やっとHibernateのすばらしさを語ってくれる人が来たぞ!
579:デフォルトの名無しさん
11/05/02 12:16:37.57
> Hibernateの有用性は今更疑うべくもないはず
ならなんで全然普及してないんだろうね。
本当にいいものならもっと使われてるはずなんだけど。
煽りじゃなくてマジで疑問なんだよ。
580:デフォルトの名無しさん
11/05/02 12:46:59.14
俺としては、むしろHibernateの良さを語って俺を啓蒙して欲しい。
他の言語、例えばLINQ to SQLやArelなんかは良いと思うけど、Hibernateは中途半端というイメージがあって。
なら、2Way-SQLでいいやと思う人なので。