[Seasar-user:1082] Re: S2DAO 不具合
Taro Kato
kato
2004年 10月 6日 (水) 17:53:13 JST
比嘉さん、こんにちわ。グルージェント加藤です。
手が空いたので見てみました。
> DatabaseMetaDataUtil.getPrimaryKeySet()がプライマリーキーを
> 取得するメソッドなので、そのメソッドが何とか正しい値を
> 返すように修正する必要がありますね。
> スキーマは無視して、取得するようになっているんですけど。
おお!本当ですね。すぐに見れば良かったです。
ご指摘の通りでしたので以下のように修正しました。
public static Set getPrimaryKeySet(DatabaseMetaData dbMetaData,
String tableName) {
tableName = convertIdentifier(dbMetaData, tableName);
String schemaName = null;
int index = tableName.indexOf('.');
if (index >= 0) {
schemaName = tableName.substring(0, index);
tableName = tableName.substring(index + 1);
}
Set set = new CaseInsensitiveSet();
try {
ResultSet rs = dbMetaData.getPrimaryKeys(null, schemaName, tableName);
while (rs.next()) {
set.add(rs.getString(4));
}
rs.close();
} catch (SQLException ex) {
throw new SQLRuntimeException(ex);
}
return set;
}
昨日このお返事をいただいたあとに、ML ROM派の後輩が、
修正・テストして治ったことを確認していましたので、
私の方でも今日確認しました。
ピンポイントのアドバイスでしたのですぐに対応できました。
ありがとうございました。
[[[[[[[[[[[[[[[[[[[[[[ G l u e g e n t , I n c .
[[[[[[[[[[ [[[[[[[
[[[[[[ [[[[[[[[[[
[[[[ [[[[[[[[[[[[ http://www.gluegent.com/
[[ [[[[[[ [[[[
[[[ [[[[ [[[ System Development Division
[[[[[[[[[[[[[[ [[[[[
[[[[[[[[[[[[ [[[[[[[ T a r o K a t o
[[[[[[[[[[ [[[[[[[[[[
Seasar-user メーリングリストの案内