[Seasar-user:1220] Re: DatabaseMetaDataUtil.getPrimaryKeySet について
"SRI 深尾"
fukao
2004年 11月 25日 (木) 19:06:22 JST
SRI 深尾です。
以下の用に変更したところ、
primaryKeys_に大文字の項目名がそのまま入りました。
これで検証を続けていきます。
ありがとうございました。
この変更は項目名がセンシティブな
DBのみの例外的な対応になるのでしょうか。
今後リリースされるS2には反映されますでしょうか。
Yasuo Higa wrote:
> <[E-MAIL ADDRESS DELETED]> の、
> "[Seasar-user:1214] DatabaseMetaDataUtil.getPrimaryKeySetについて" において、
> ""SRI 深尾" <[E-MAIL ADDRESS DELETED]>"さんは書きました:
>
> ひがです。
>
> > はじめまして。深尾と申します。
> >
> > 現在S2DAOを新規システムで使用させていただこうと思い
> > 単純な検証作業を行っているのですが、
> >
> > 「更新SQLの自動生成」において
> > updateメソッドが発行するSQLのprimaryKey項目表記が
> > 小文字になってしまうという現象があります。
> >
> > これは仕様として考えればよろしいでしょうか。
> > その場合、今回の現象に対する回避策等ございますでしょうか。
> > (見当違いのことを言っていましたらすみません。ご指摘下さい)
> >
> org.seasar.dao.impl.BeanMetaDataImplの257行目の
> setupDatabaseMetaDataを下記のように書き換えるとどうですか。
>
> private void setupDatabaseMetaData(DatabaseMetaData dbMetaData) {
> Set primaryKeySet = DatabaseMetaDataUtil.getPrimaryKeySet(dbMetaData,
> tableName_);
> Set columnSet = DatabaseMetaDataUtil.getColumnSet(dbMetaData,
> tableName_);
> List pkeyList = new ArrayList();
> for (int i = 0; i < getPropertyTypeSize(); ++i) {
> PropertyType pt = getPropertyType(i);
> if (primaryKeySet.contains(pt.getColumnName())) {
> pt.setPrimaryKey(true);
> pkeyList.add(pt.getColumnName());
> } else {
> pt.setPrimaryKey(false);
> }
> if (columnSet.contains(pt.getColumnName())) {
> pt.setPersistent(true);
> } else {
> pt.setPersistent(false);
> }
> }
> primaryKeys_ = (String[]) pkeyList.toArray(new String[pkeyList.size()]);
> setupAutoInsertSql();
> setupAutoUpdateSql();
> setupAutoDeleteSql();
> }
> ---
> Yasuo Higa <[E-MAIL ADDRESS DELETED]>
> INFORMATION SERVICES INTERNATIONAL-DENTSU,LTD.
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> http://lists.sourceforge.jp/mailman/listinfo/seasar-user
+++++++++++++++++++++++++++++++++++++++++++
+ 株式会社 ソフィア総合研究所
+ システム開発部 深尾 信之
+
+ 大垣市加賀野4丁目1番地7
+ ソフトピアジャパンセンタービル7階
+ Tel.0584-77-1263 Fax.0584-82-7153
+++++++++++++++++++++++++++++++++++++++++++
Seasar-user メーリングリストの案内