Thread Rating:
  • 343 Vote(s) - 2.91 Average
  • 1
  • 2
  • 3
  • 4
  • 5
iBatis で正常なクエリなのにエラーになる
01-16-2014, 06:10 PM,
#2
RE: iBatis で正常なクエリなのにエラーになる
エラーになるSELECT文は、条件に応じて項目数が動的に変わるため、
検索結果(iBatis でいうところのresultClass)をHashMap にしていますが、
初回と、2回目で集約条件となるパラメタを変更しています。

どうやら、以前のクエリ発行時に作成したHashMap を、iBatis側でキャッシュしているため
初回にキャッシュしたHashMpaに対して、
2回目で取得した項目をセットしようとしたとき、
検索結果の項目数に差があると、
キャッシュしているHashMap に対してキーがないため、エラーになる、ということのようです。

とりあえず、項目の増減が発生しないように、すべての項目をハッシュのキーに指定するようにし、
利用しない項目については、値をnullにして判断するよう修正して対応しました。

iBatisの設定として、select タグに remapResults="true" を設定すれば、キャッシュをクリアしてくれるようですが、
こちらはまだ試していないです。

http://www.sorich.jp/blog/shimamura/2008...elect.html



Messages In This Thread
RE: iBatis で正常なクエリなのにエラーになる - by umemura - 01-16-2014, 06:10 PM
Forum Jump:


Users browsing this thread:
2 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('1029')