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:デフォルトの名無しさん
08/10/10 21:41:49
/ /i \
. / /:.:. ./:,' i | 、 ヽ
. / :.:.:.:.:/:.:i | |:. ヽ. .:.:.:::..、 :.
/ i:.:.::/:.:.::! .i :| : .:.!、 : \..:.:.::::ゝ :.:..
. ,' ::.:/:.:.:.:.| {:.i:.. . : . { ヽ\ \::.::::i .:::.
i ∨'ヘ、| ヾヽ:.:.ヽ:.ヽ \:>'⌒ヽ{ .::::i
| i ,ィ≦示ト='' ヽ__ヾ=≦示ミト、 | :. .:.:::}
| |〃ir'ろ::::} ir'ろ::::}ヾ| :. .:.:::| ああぁ?何言ってんだ?コロスぞ!
| | ゞ二ノ ゞ二ノ | :.: .:.::::|
!:. | ´´ ̄´ ´ ̄`` | .:.: :.:.::::}
く|:. } i ノ! :.:.:.:::::::,'
i::.:.. : : .|i、 、 , /、!:. .:.:.::::::/
乂::.:.:.. :.:.. . ::i ト、 ー、、 ―一'' , ' |:. .:.:.:.:.ノ!\
. / ヽ:.:.:.:.:.:.:.:.:| i \ `ニニ ´ / ノ::. .:.:.:/ | ヽ
{ \iヽ、:.ト {. |.| .、 .イ| ./:.:.:.:.:./ } }
| | ヽ! |、 |.| ` ー ´ |.| 厶イ:.イ / ,'
48:デフォルトの名無しさん
08/10/13 01:01:04
エアヒロインの名を欲しいままにしてるインデックスに明日はあるのか、
コイツ出て来ないとみる気が全くしない・・・
ヘカテー抜きのシャナみたいなもんですよ
49:デフォルトの名無しさん
08/10/13 11:39:23
い……禁書目録
50:デフォルトの名無しさん
08/10/13 19:50:37
/ / } 〉
. ,′ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ゙̄l 〈
│ / | |
| / | │
| /`'ー=ァー─:─‐‐┬:-,、:┬―< !
,'! ∠ ィ: :.::/:,/>、/_;∠/ |: 厶:斗:│: !:\ |
/ |: :,/|〃卞i:::j「 / j/ イi::卞小∧| ̄| そこはかとなくバカにしてるね
. / /|∨:| ちソ ちソ ハ| ' |
/ ト|: : :| ー , ´ !: :| |
. / /: |: : :| `` 八:|ヽ. ∧
/ /: /|: : :|l\ ∠ ) _ イ: : :| \│
. / /;∠ |: : :| ` 、> 、..__.. イ │: :/⌒>‐、}
{ / >‐<`ヽ\`ー┴'´/ | |: :(_ノ⌒丶\
/ / / /⌒'く \ ,/l | |: :/レ ⌒\ /
. / // { /⌒ヽ. \ / | |: :V⌒丶 /
51:デフォルトの名無しさん
08/10/16 00:34:45
日頃まったく萌えというものをたしなまない私だが、何気なく見た「とある~」のインデックスたんに
不覚にも萌えてしまった。
それも興奮して寝つきが悪くなるほどの激萌え。
あのキャラデザ、仕草、言動、性格、そしてあの声。
インデックスたんに出会ってから彼女の事で頭がいっぱいだ。
硬派なアニメを好むこの私すら虜にしたこの作品、いや、インデックスたんは必ずや海外でも大人気になるに違いない。
今からその評判が楽しみだ。
だがしかしインデックスたんは私の嫁。
日本人だろうと外国人だろうと譲る気はサラサラ無い。
52:デフォルトの名無しさん
08/10/17 10:09:20
ところで、JPAのManyToOneのOne側のIdがnullなデータベースがあったらどうすればいいですか?
53:デフォルトの名無しさん
08/10/18 00:24:05
IDがNullだと・・?
54:デフォルトの名無しさん
08/10/18 00:35:34
_____
_ / `\
_ ィァ'/7 ヽ
/ {/'/ | /_______、ハ
/ j〃 /| |:::::::::::::::::::::::::::::::::::::| }
. ________/ || / |_________|イ__________
`ー~―ヘ. \ |l ∠l斗=くj/∨レィ=从 乂
__________ヽ_ /リ " ノ |{弋:ソ 弋:ソ}/`ト、}__________
/ j ∨ {::{ 厶 :|,, ー ' ー,,∧│ノ
.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|::| /|ノ|:l{\ o ィ: :lヘ|〈 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
.  ̄ ̄ ̄| ̄│ ̄ ̄ l゙ ̄/:|::|_/ │ |:.lトミ≧=-</ | : l | ̄ | ̄ ̄ ̄| ̄ | ̄ ̄ ̄ ̄
| | | /:/|::| |ヽ|: :|ー='l ∨ | : | | | | |
| | l./:/| |::l |` |: :| |. ,'、 | : | | | | |
| | ./:/'│〉:'、 ,/! |: :| | / / ; :| | | | |
| l / / |∧:::\/: | /:./| |,/ /:ハ:.|. ,'| | | |
| | ./ { /:::/\/l: // ハ| 〃 /:/ } }_/ | | | |
| l ヽ: :| ,':::/ ノ:八 { | / ノ'´ ノ:ノ | | | |
| | ヽ∨::/ ∠イ `ヾ | ,' ー=彡イ | | | |
| | |`ト:| | | } | | | |
. /| | | Ⅵ ∧ | | | | | | |
/ | | | |:∨xハ. | | !〉 | | | |
/ .| | | |:::∨i/\_______ノ| ト、________,/| | | | |
55:デフォルトの名無しさん
08/10/19 17:43:05
インデックスの可愛さがヤバい
URLリンク(mg24live.net)
URLリンク(mg24live.net)
URLリンク(mg24live.net)
URLリンク(mg24live.net)
URLリンク(mg24live.net)
URLリンク(mg24live.net)
URLリンク(mg24live.net)
URLリンク(mg24live.net)
URLリンク(mg24live.net)
URLリンク(mg24live.net)
URLリンク(mg24live.net)
URLリンク(mg24live.net)
URLリンク(mg24live.net)
URLリンク(mg24live.net)
56:デフォルトの名無しさん
08/10/20 16:03:55
>>52
で、結局面倒なのでデータベース側で結合させてむりくり処理することにした。
URLリンク(as400bks.rochester.ibm.com)
as400って昔からデータベースが標準だったからいまでもデータが残っているのでいいんだが、
RPGのプログラムだと好き勝手に組めてidにnullなんかやりたい放題なんでそんなのどうするかはすげー困る。
あーデータベース一から作り直したいぜ。
スレ違いすまぬ
57:デフォルトの名無しさん
08/10/20 23:28:41
/ /: :`丶 _ |
//: :./ : : : / : : / ̄¨: 7'T: :.―‐- .____ |
-=彡://: ;' : : : /: : :.,'|: : : : / :|: : ' : : : : | |:ヽ: ̄:¨ :T: : ─ヘ|
|//|: :l: : : /|\:/ |: : : :,' |: :{: : : : :│ | : l: : : : : : :|: : : : : : : :ヽ
|/ :|: :l: : / :|: /\|: :/l:|__,、|: ハ: : : : | | : |: : : : : : :|: : : : : : : : : \
| i八:ハ :│ |/ィ≦i示坏、ヽ |/ \ ^'|\ ヽハ: :∧ : /: : : : : : : : : : : :
| ヽl: ∧ {{. {{//..:::ー'} \| ,x≧==∨ニ| /|: : :/: : : : .:ト、 : :
/ /|ヽ:ハ '⌒)しイリ ´ /爪...:::(心、│ /| : : ∧ 〈 \ うんこ漏れそうだよ・・
|/ / :|: ;' : iとこゞ辷ン {{///..::jノ}ハ∨ |: : / ハ:∨|
/ / _|/: : ' ー─'' '⌒)_イトリ }} /:/ :j : |`ヽ!
/ /´ /: : :i //// , `''ー‐てつ |: : :.:i : | ノ|
. / / /: : : :{ ′ ` ー‐ |: : :.:i : |く /
/ / / : : : 八 ////// |: : :.:i : | \
. / / |: : : : i: :|\ ^ヽ__,. --、 イ|: : :.:i : | ヽ
│ { | : : : :i: :| |>,、 、 イ /│: : :i : |
58:デフォルトの名無しさん
08/10/25 00:36:09
URLリンク(www.watch.impress.co.jp)
(*´Д`*)
59:デフォルトの名無しさん
08/10/25 01:39:43
URLリンク(up2.viploader.net)
60:デフォルトの名無しさん
08/10/25 20:23:47
なんかのアニメキャラなのか?
キモ・・・
61:デフォルトの名無しさん
08/10/25 20:25:55
ここはインデックスたんのスレになりますた
62:デフォルトの名無しさん
08/10/26 11:04:34
URLリンク(tv2ch.com)
63:デフォルトの名無しさん
08/10/26 11:07:14
URLリンク(nijizatuuploader.hp.infoseek.co.jp)
64:デフォルトの名無しさん
08/10/26 12:57:58
なんか荒らされるようなことあったっけ?
65:デフォルトの名無しさん
08/10/26 19:20:22
原作だとインデックスさんの人気が薄いと聞いたけどちょっと信じられない
66:デフォルトの名無しさん
08/10/28 00:04:33
>>51
おい、そこのハゲ!
インデックスのおまんこは俺のものだ!てめえはアイロンでも舐めてろ
67:デフォルトの名無しさん
08/10/29 00:22:16
とあるケメコのデラックス!
68:デフォルトの名無しさん
08/10/29 00:39:00
禁書はあと2話分1巻やるから
インデックスの出番は再来週まであるよ
69:デフォルトの名無しさん
08/10/29 01:27:03
でその後は空気化するというわけか
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:デフォルトの名無しさん
08/11/02 20:06:08
禁書目録エロ過ぎw
処女膜貫通の断面図とかやり過ぎだろw
次回はATフィールドですか?破るんですか?割るんですか?
74:デフォルトの名無しさん
08/11/05 22:35:24
おまえ等インデックス大好きだなw
インデックスはな
俺の嫁なんだよwwww
75:デフォルトの名無しさん
08/11/06 04:45:01
なんかJavaって使ってるの基地外ばっかなのか?
>>43 あたりからなんか意味不明なんだけど
76:デフォルトの名無しさん
08/11/06 23:26:08
意味さえわかれば基地外ではないということが理解できるはずさ
77:デフォルトの名無しさん
08/11/06 23:48:04
「魔術によって造られた環境では、ネセサリウス以外の魔術師にディスペルされる恐れがある」
78:デフォルトの名無しさん
08/11/07 23:02:15
漢字にありえない読み方のカタカナが振られてるのが我慢ならない
79:デフォルトの名無しさん
08/11/08 11:25:38
───ーー-
/ _______ `ヾ
/ )_______( l
l lノ(人从 从 )ハノ(从 \ l
j j. ---一、` ―--‐、_l ハ 禁書のヒロインは私・・・・・
{ / T辷iフ i f'辷jァ !i l そんなふうに考えていた時期が
ヾ ハ ノ !lリ | 私にもあったんだよ
(` Z i 〈.,_..,. ノノ ノ
/ ; )ハ、 、_,.ー-、_',. ,f゙l ヽ
\~''戈ヽ `二´ リ´ `! ソ
80:デフォルトの名無しさん
08/11/09 13:52:43
昨日の放送で思ったんだけどインデックスって俺のこと好きっぽい
81:デフォルトの名無しさん
08/11/09 17:56:04
もはやインデックスのスレとなりつつあるな。
漏れも好きだからいいんだがw
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:デフォルトの名無しさん
08/11/11 23:18:28
, : '´ ̄ ̄ ̄`¨: ヽ、
/: : : : : : : : : : : : : : : : \
/: : : : : : : : : : : : : : : : : : : : ヽ
/: : : : : : : : : : : : : : : : : : : : : : : : ' ,
/: /: : : : : : : : : : : :.!: : : :!: : : : : : : : :.ヽ
|: :!: : : : : :/: : : : :|: |ハ: : |: ヽ : : : : :ヽ: :!
|: :|/: : i: ハ: : : :/!:.| ト、ハ:.|: ヽ : : : :ミ:ト-
|:./:ハ:.十―i匕/`|/ |/ `TT⌒!: : |: !:.|
__,. イ7从!: |/rそTト rそTト、|/!VV
|: :{ |N| 弋zソ 弋zソ !: :|/| どう解決したのか教えてくれるとうれしいな
|: :弋|: :!w` ̄ ,  ̄ w.| : !: ! >>82から>>70へのお願いなんだよ
/!: : : | 込. ハ: :|: |
厶r‐<|: : |:::\ (´) , イ::|:i :|:入
/:::::::::::::::|: : |:::::::::::>x<´ ̄ ヽ:::::::|: : |::::::\
|\:::::::::::|: : |:::::/ ̄ ∨ |: : |:::::::::∧
|:::::::>' ⌒ヽ∠ }'⌒ヽ!:::/:::::|
|::::/ ヽ ソ 人// }:::::::::::|
/ ̄\_>く \ |>くノ:::::::::::::|
__,/ /:::::::::::\:::::::::|
86:デフォルトの名無しさん
08/11/11 23:26:16
てめぇらずっと待ってたんだろ!?インデックスの記憶を消さなくてもすむ、インデッ
クスの敵にまわらなくてもすむ・・・そんな誰もが笑って、誰もが望む最高なハッピー
エンドってやつを。今まで待ち焦がれてたんだろ?こんな展開を・・・何のためにここ
まで歯を食いしばってきたんだ!?てめぇのその手でたった一人の女の子を助けて
見せるって誓ったんじゃねえのかよ?お前らだって主人公の方がいいだろ!?脇役
なんかで満足してんじゃねえ、命を懸けてたった一人の女の子を守りてぇんじゃない
のかよ!?だったら、それは全然終わってねぇ、始まってすらいねぇ・・・
ちょっとくらい長いプロロー / ̄ ̄ ̄ ̄ ̄ ̄ ̄\ グで絶望してんじゃねぇよ!
\ 手を伸ばせば届くんだ!い| うるさい黙れ |い加減に始めようぜ、魔術師!!/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\_______/ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∨ (゚д゚ )
<⌒/ヽ-、__ノヽノ |
/<_/____/ < <
87:デフォルトの名無しさん
08/11/13 23:38:26
ガンガンの付録
URLリンク(img.akibablog.net)
88:デフォルトの名無しさん
08/11/14 22:54:05
インデックスのマウスパッドちっちゃすぎ。
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:デフォルトの名無しさん
08/11/16 18:31:19
_____
/ ヽ____//
/ / /
/ / /
/ / /
/ / /
/ / /
/ / /
 ̄ ̄ ̄ ̄ ̄
| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| 挨拶は無駄なので省かせてもらうよ。まったくよくやってくれたなこの野郎。
| と言いたい所だけど、その個人的な思いの丈をぶつけてしまうと世界中の木々を残らず切り倒しても紙が足りなくなるのでやめておくよ。
/ 必要最低限の礼儀として、手伝ってもらった君にはあの子とそれを取り巻く環境について説明しておく。 ____
/イギリス清教はあの子を大至急連れ戻したがってたけど、僕達を騙していた事の説明を求めたらあっさり厳重維持ときやがった。 / ヽ___//
/ 実際には様子見というのが正しいのかな。僕個人としては、一瞬一秒でもあの子の側に君がいることは許せないんだけど。 / / /
/ ちなみに、これは別に諦めて君にあの子を譲るという意味ではないよ。 / / /
/ 僕達は情報を集め、しかるべき装備を整え次第、あの子の回収に挑むつもりだ。 / / /
/寝首をかくのは趣味じゃないので、首はよく洗って待っているように / / /
/ / / / /
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
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:デフォルトの名無しさん
08/11/16 20:02:49
禁書面白かったな
やはり原作ファンが作ったアニメって感じがして
その愛が肌身に感じられた
その一番の成果が、一言一句原作の台詞を忠実に再現できている
というところではないかと考えられる
さらにそれぞれの展開を丁寧に描写することで
視聴者の感情移入しやすい体制を作り上げている
これは大変上手いやり方だと思う
なぜなら原作の消費量も減らすことが出来て、大ヒットが約束されている本作の場合
2期、3期と続けられ、制作側にとって大きな収入源となるからだ
原作ファンにとってもこれだけ原作に忠実でハイクオリティなアニメを
長い間見ることが出来るのは良いことだと思う。
まぜなら本作は、巻毎にヒロインが交代するため
それぞれのヒロインのファンも満足させる必要が生じるためだ
よって1期では活躍する機会がないヒロインのファンも
今後の2期、3期のさらなるクオリティアップを期待する意味を込めて
DVDその他の関連商品を買っておくべきだとここに進言するものとする
自分の好きなもの、そしてそれを作る制作者に
感謝の念と共にお金を差し出すのは当然のことだからね
97:デフォルトの名無しさん
08/11/17 20:27:56
/ ⌒ ⌒\
/ (⌒) (⌒) \
/ ///(__人__)/// \ 何から何まで完璧に原作通りに作るお!
| u. `Y⌒y'´ | 原作レイプだなんて言わせません!
\ ゙ー ′ ,/ なんか原作者が新規シナリオ提供するとか言ってるけど
/⌒ヽ ー‐ ィヽ レイプ扱いされたくないからお断りだお!
/ rー'ゝ 〆ヽ
/,ノヾ ,> 錦織 ヾ_ノ,|
| ヽ〆 |´ |
【10月】 ___
/ \
/ ─ ─\ <厨2かよ
/ (●) (●) \ ・・・ <禁書展開おせーよ
| (__人__) | ________ <主人公ウゼー
\ ` ⌒´ ,/ .| | | <つまんねー
ノ \ | | | <インデックスたんハァハァ
/´ 錦織 | | | <何この説教展開
| l | | | <錦織ェ・・・
ヽ -一ー_~、⌒)^),-、 | |_________| <もう切るわ
ヽ ____,ノγ⌒ヽ)ニニ- ̄ | | | <漫画版の通りに作れ
98:デフォルトの名無しさん
08/11/17 20:28:27
【11月】 ___
/ \
/ ─ ─ \
/ (●) (●) \ どうすりゃいいんだよ
| (__人__) | ._________
\ ` ⌒´ / | | |
ノ \. | | |
/´ 錦織 . .| | |
| l | | |
ヽ -一ー_~、⌒)^),-、 | |_________|
ヽ ____,ノγ⌒ヽ)ニニ- ̄ | | |
【12月】
/ ̄ ̄ ̄\
/ ノ( _ノ ヽ、\
/ (( ●) .(●) ウダウダうるせえキモヲタ!だったらテメェが作れよ!アア!?
| (__人__) /⌒l
\ ` ⌒´ ノ .|`'''|
/ ⌒ヽ / | | __________て
/ \ __/ / | | ̄ ̄ ̄ ̄ ̄ ̄ ̄| | |(
/ /| ノ | | \ / | | |’, ・
( _ ノ | 錦織 \´ _ | | \ ノ( / | | | , ’
| \_,, -‐ ''"  ̄ ゙̄''―---└'´ ̄`ヽ | | | て
.| __ ノ _| | | (
ヽ _,, -‐ ''" |_ ̄_o o o___|_|r'"
99:デフォルトの名無しさん
08/11/18 01:08:31
これってSeasarの人が荒らしてるの?
100:デフォルトの名無しさん
08/11/19 01:03:00
URLリンク(news.dengeki.com)
101:デフォルトの名無しさん
08/11/19 02:52:07
Seasarの中の人を怒らせると
おそろしいってことか・・・
102:デフォルトの名無しさん
08/11/22 00:41:04
【アニメ】あの伝説の企画が「禁書目録」で帰ってくる!!「とある魔術のいんでっくすたん」(仮) DVD&BD第1巻09/1/23発売
スレリンク(moeplus板)
103:デフォルトの名無しさん
08/11/23 12:37:21
『とある魔術の禁書目録』の通り名一覧表
幻想殺し(イマジンブレイカー) 風紀委員(ジャッジメント)
超電磁砲(レールガン) 欠陥電気(レディオノイズ)
一方通行(アクセラレータ) 最終信号・打ち止め(ラストオーダー)
肉体再生(オートリバース) 未元物質(ダークマター)
正体不明(カウンターストップ) 死角移動(キルポイント)
透視能力(クレアボイアンス) 気力絶縁(インシュレーション)
空気風船(エアバッグ) 風力使い(エアロシューター)
七鍵守護神(ハーロ・イーン) 風子使い(ヒトデマスター)
記憶操作(マインドハウンド) 空力使い(エアロハンド)
電撃使い(エレクトロマスター) 量子変速(シンクロトロン)
衝撃拡散(ショックアブソーバー) 意見解析(スキルポリグラフ)
多重能力者(デュアルスキル) 偏光能力(トリックアート)
火炎放射(ファイアスロアー) 予知能力(ファービジョン)
思念使い(マテリアライズ) 多才能力(マルチスキル)
洗脳能力(マリオネッテ) 座標移動(ムーブポイント)
心理定規(メジャーハート) 肉体変化(メタモルフォーゼ)
原子崩し(メルトダウナー) 心理掌握(メンタルアウト)
竜王の顎(ドラゴンストライク) 偽装能力(ダミースキル)
禁書目録(インデックス) 黒色槍騎兵艦隊(シュワルツ・ランツェンレイター)
偽善使い(フォックスワード) 冥土帰し(ヘヴンキャンセラー)
告解の火曜(マルディグラ) 追跡封じ(ルートディスターブ)
竜王の殺息(ドラゴンブレス) 竜破斬(ドラグ・スレイブ)
魔滅の声(シェオールフィア) 魔女狩りの王(イノケンティウス)
吸血殺し(ディープブラッド) 黄金練成(アルス=マグナ)
瞬間錬金(リメン=マグナ) 御使堕し(エンゼルフォール)
強制詠唱(スペルインターセプト) 神の力(ガブリエル)
104:デフォルトの名無しさん
08/11/23 14:33:25
関係ないの混じってるw
105:デフォルトの名無しさん
08/11/24 13:43:54
禁書は幼女までたどり着くのかなあ
その前で終わりそうで悲しい
106:デフォルトの名無しさん
08/11/24 17:20:12
>>103
厨二病すぎて吹いたwww
107:デフォルトの名無しさん
08/11/26 01:44:09
もうやめてください…(;-;)
108:デフォルトの名無しさん
08/12/01 23:19:16
URLリンク(www.hobbystock.jp)
109:デフォルトの名無しさん
08/12/02 01:38:58
URLリンク(blog-imgs-41.fc2.com)
110:デフォルトの名無しさん
08/12/04 23:13:47
「このライトノベルがすごい!2009」が発売になっている。
これは、読者による作品やキャラクターのランキングが掲載されているライトノベルのガイドブック
「このライトノベルがすごい!」の2009年版。
ランキングの他にもライトノベル作家のインタビュー、ジャンル別作品紹介、
今後のライトノベルの予想などが細かく行われているのも特徴で、
ライトノベル界の”ミシュラン”ともいえる本となっている。
ライトノベルはひと月に何十冊もリリースされるため、
どれを読んだらいいか悩んでしまうという人や
新しい作品に挑戦してみたいという人も、
眼を通してみるといいかもしれない。
「このライトノベルがすごい!2009」
作品部門ランキングTOP10:
1位「とある魔術の禁書目録」/ ?注目
2位「"文学少女"シリーズ」/
3位「バカとテストと召喚獣」/
4位「とらドラ!」/
5位「狼と香辛料」/
6位「"化物語" シリーズ」/
7位「"生徒会の一存"シリーズ」/
8位「フルメタル・パニック!」/
9位「嘘つきみーくんと壊れたまーちゃん」/
10位「とある飛空士への追憶」
111:デフォルトの名無しさん
08/12/04 23:19:16
ライトノベルなんてロードス島戦記ぐらいしか読んだこと無い
112:デフォルトの名無しさん
08/12/04 23:37:00
昔は赤川次郎ですら幼稚だとバカにされたもんだがなぁ…
113:デフォルトの名無しさん
08/12/04 23:37:08
_. --── -- 、
/ ` ー 、
/ \
/ / \ 頭巾臭せーんだよ!
/ / ________ ノ /
,′ イ ̄ `l | -‐''´'´
| /| -─- ,__-‐'''´-‐'''-‐''´
| / ハ___-γ--''´ ̄ / /
ノ /_.イ イ弋 / // / `
. / l  ̄ 7|/| "} l l | | ',
/ | ∧| ノ "}| l | 丶
. / | // | :| ,. -'´ \'
. / // | | ) / :∠ミーニ丶、 |`! !' ,/
/ 厶-、| ト. _\丶、__ ../ ̄>-'⌒ー‐r;┬' ∠ミーニ=
/ / / ̄ ヽ、 >- ≦ノ| | /´⌒ く\
. / __. イ / /⌒ヽ\ // | | しl⌒ヽ ∨
/  ̄ | { /⌒l\\/7 | | 〈⌒ヽ |
,′ l ヽ /⌒l \ / / / 〈⌒ ノ
. { | >ー-く´ / / / /`ー'7
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:デフォルトの名無しさん
08/12/05 22:13:47
>>110
ハルヒとかシャナってないのな。
以外だ。
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:デフォルトの名無しさん
08/12/07 21:23:07
インデックスが脇役になってた
URLリンク(tv2ch.com)
URLリンク(dat.2chan.net:81)
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:デフォルトの名無しさん
08/12/10 23:57:32
禁書って2クールだったのか
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:デフォルトの名無しさん
08/12/13 18:17:37
URLリンク(fumoffu.up.seesaa.net)
URLリンク(fumoffu.up.seesaa.net)
URLリンク(fumoffu.up.seesaa.net)
URLリンク(fumoffu.up.seesaa.net)
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:デフォルトの名無しさん
08/12/17 23:32:35
URLリンク(www.geneon-ent.co.jp)
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:デフォルトの名無しさん
08/12/31 18:51:13
>>180
なんか御坂妹プッシュされまくりだな。おれは空気ヒロインと言われようがインデックス一筋だぜ
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:デフォルトの名無しさん
09/01/09 00:12:47
次週は祭りだな
URLリンク(yui.cynthia.bne.jp)
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:デフォルトの名無しさん
09/01/23 02:04:57
_人人人人人人人人人人人人人_
> ビリビリしていってね!!! <
,. .-―― ̄.^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^Y^ ̄―. . 、
/: :r‐r============┐ /´ / : :`i、__ : : : \
/ : ├l‐1――― | ∧〉:/:/: : /: |= ミ丶、: :ヽ
/ : : : }‐ヒL二二二二二二」 /: : :/l/ }:l:/l,: } ヽミi : :|
|: : : :/:/: :/ |: :ィ l :/:| ミ | {/ /ゝ、ノイ ノl/ /_ トl!: : :|
|: : :/:/ :/--}/ |ノ}ハl-- ! } |l:/|/(ヒ_] ヒ_ン ) ト. :|
|: :/イrV (ヒ_] ヒ_ノ) |ノ| |/!:l '" ,____, "'' ノ: : |
|: : :八{ "" ""| :{ lハ. ヽ. _ン / : :|
}: :/:|:i 、 ― ノ ハ ノ}: iヽ、 .イ:i : : :{
ノイ}从{/ > __ ィ::ノ :{ |:ハ: i`. -----<ト:}从{:トヽ
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:デフォルトの名無しさん
09/01/25 11:38:44
<(^o^)>
( ) とうまー
//
<(^o^)> とうまとうまー
( )
\\
..三 <(^o^)> とうまー
三 ( )
三 //
. <(^o^)> 三 ねーとうまー
( ) 三
\\ 三
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の構文でストアド登録できる機能みたいなのが欲しい。
まあこんな機能はチラシの裏すぎるとは思うが。