[Seasar-user:10459] Re: [S2Dao]Oracle8i でのシノニムの初回検索時のWARNINGについて

Toshihiro Nakamura [E-MAIL ADDRESS DELETED]
2007年 9月 11日 (火) 21:03:10 JST


中村(taedium)です。

> 初回起動時に、下記WARNINGが出て各テーブルを見つけるのに1分近くかかる現象が出ています。
> 検索実行は問題なく行われております。2回目以降は、WARNINGが出なくなり早くなります。

WARNINGが出るのはDBのメタデータが取得できていないからです。
時間がかかるのはメタデータにアクセスしようとがんばっている
からだと思います。
DBのメタデータにアクセスするのはDaoごとに最初の一回なので
2回目以降が早くなります。
メタデータが取得できていないのに正常に動くのはアノテーションの定義と
実際のテーブル定義が合致しているからでしょう。

> 同様に作成したシノニムでも、自Oracleインスタンスの別ユーザーにテーブルが定義されていればこのWARNINGは出ません。
> (実際はそのテーブルは参照せずに、自分で作成したシノニム(別Oracleインスタンスのテーブルの)を使用します。)

あるスキーマでテーブルが見つからないとスキーマ全体からテーブルを
探すので、そちらが見えてしまっているようです。

> 初回は、ちょっとした検索を実行しても数分かかっており困っています。(2回目以降は直ぐに応答がかえってきます。)
> この現象の解決方法をご存知の方がいらっしゃればご教授お願いします。

バージョン1.0.47(まだリリースされていません)から、
dao.diconの設定をすることでメタデータを使用せずアノテーションの情報だけで
動作できるようになります。
この機能を使ってもらえれば速度が改善すると思います。
-- 
Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>




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