オブジェクトがシノニムであるかぎり、シノニム定義を管理するテーブルを繰り返し検索し、対象の実テーブルが見つかった時点で、カラムの一覧を取得する。値を、シノニム解決を始めたときに最初に問い合わせたシノニムの名前で返してやっている。メタデータとの照合に成功し、テストデータの処理が問題なく行われるようになる。検索してもストレートな解決策を提示している記事が見つからなかったのだけど、他の皆さんはどのように解決しているのだろうか......。jdbc表題通りである。使用すると、とにかく遅い。これには理由があり、解消方法も存在するが、これに気がつくまでかなり時間をかけてしまったので、残しておくことにする。以下のように、テストデータを挿入するテーブルのスキーマを指定するだけで良い。テストデータの挿入前に、何をしているかを知る必要がある。テストデータを挿入する前に、与えられたテストデータを読み取る。ここまでは誰でも予想がつく動作だろう。内に存在するかどうかを確認する。例外をスローして終了する。指定された通りのテストデータ処理に入る。相手のテストで著しい遅延が発生する。(環境にもよるが手持ちの環境では、メタデータ取得だけで、10~20秒程度の待機が発生していた。)問題とはどのようなものかというと、以下のようなものになる。いうシステムテーブルに問い合わせをかける。このテーブルではログインしているユーザーがアクセス可能な、あらゆるオブジェクトの情報が返されるのだが、ここでスキーマ指定がないと、本来テスト対象とはならないスキーマも含めた問い合わせがかけられ、これが遅延につながってしまう。返されるメタデータの中には、アクセス可能なだけで、ログイン中のユーザーでは操作自体は不可能な情報も多分に含まれているため、テストデータを用意するというオペレーションに対しては過大な情報といえる。条件が追加され、遅延は大きく改善されるようになる。(遅延改善後の待機時間は、0~2秒程度。使用したいと考えたとき、気になる遅延が発生した場合には、試してみてほしい。内容を確認してみるのも良いかと思う。nullせっかく仕事が休みなので、ためていた分を書き残しておこうと思う。使用されているのはどなたもご存知のところかと思う。値が設定されていた場合に、レスポンスをフィールドの型ごとに変換したいような場合の例が非常に少ない。使用したうえで、そんな要件があった場合のコード例を残しておこうと思う。アノテーションを使用して、この設定の有効無効を切り替えられるようにしてある。値の変換を行ってくれるようになる。それぞれフィールド値が変換されるようになっている。同様に型ごとの値変換処理を追記してやればいくらでも応用がきくので、こんなことも出来るということを覚えておくとどこかで使いどころがありそう。夏なのにSpring」でお話をしてきました。人前で話をする機会がこれまでなかったので、お誘いいただいた関係者の皆様、貴重な機会をありがとうございました。KIKUCHI全体的に伝えたかったのは、オレオレフレームワーク作りだしちゃうと後々困るよってのと、Springは非常に良く出来ているのでちゃんと調べた上で使い倒していきましょうねってこと。オレオレはホントダメ。わずかでも許しちゃダメ。サービスを大きくしていきたいとか、今後も継続的に保守・アップデートしていきたいとか考えていたなら、絶対ダメ。プロジェクトがスケールしてくると、必然的に人は増えるわけですけど、そのときに受け入れ側のアーキテクチャがオレオレなのか、そうじゃないのかってのは本当に差が大きい。ここをSpring標準に乗せておくだけで、プロジェクトの途中から参入してきたメンバーの立ち上がりもグッと早くなるし、必要な人員の募集要項も明瞭化する。Springができること、を条件にすればよいだけなので。オレオレが使えるかどうか?みたいな曖昧で不明瞭な判断基準を用いる必要はなくなる。いうわけで今更ですが、改めて。Springおすすめです。Longさんのトークセッション&ライブコーディングが非常に聞き応え・見応えがあり、とても勉強になりました。わたしの発表には、タイトルにもあるとおり一部でバッドノウハウの紹介なんかもあったわけなんですけど、Joshさんの何気ない一言にとても衝撃を受けました。「またバッドノウハウ増えたわー」といった具合。考えればアタリマエのことだし非常に理にかなったことなのだけど、何故かこれに気がついていなかった。コードサンプルの多くでフィールドインジェクションを使っていたり、これまでの慣例的にフィールドインジェクションを優先的に使っていた自分に反省。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。