[Seasar-user:7372] [S2Dao]自動生成されるSQLのカラム名について

BABA,Yasuyuki [E-MAIL ADDRESS DELETED]
2007年 4月 20日 (金) 11:44:49 JST


馬場と申します。

S2Daoについての要望です。

S2Daoで自動生成されるSQLのカラム名を特定の文字でエスケープできるようにし
ていただけないでしょうか?

PostgreSQLでテーブル上に group というカラムがあり、このカラムをSQLで扱う
場合は予約語とみなさないようにダブルクォートでエスケープする必要があります。
A) insert into (id, group) values (1, 'GROUP1') ← これはエラー
B) insert into (id, "group") values (1, 'GROUP1') ← これはOK
SQLの自動生成機能を使いたいのですが、自動生成されるSQLは A)のSQLになって
しまいます。
今は下記のように対応しています。
1) 〜Commandを継承し、SQL生成メソッドをオーバーライド
2)DaoMetaDataFactoryImpl#createDaoMetaDataImplを、1)のクラスを使用するよ
うにオーバーライド
3)DaoMetaDataImpl#setup〜MethodByAutoを、2)のクラスを使用するようにオー
バーライド
4)dao.diconのDaoMetaDataFactoryの定義を3)のクラスに変更
ですが、これはS2Daoの内部構造に依存していてS2Daoのバージョンを上げるとき
に不安が残ります。
なので、自動生成されるSQLのカラム名をエスケープする(もしくはカラム名をカ
スタマイズできる)手段をS2Daoに組み込んでいただけたらうれしいです。

よろしければ、ご検討いただけないでしょうか。

-- 
BABA,Yasuyuki
[E-MAIL ADDRESS DELETED]

--------------------------------------
Big Chance to Win 50,000 Yahoo! Points!
http://pr.mail.yahoo.co.jp/nlcp/




Seasar-user メーリングリストの案内