[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 メーリングリストの案内