この質問の続き:
Apache Cayenne: ユーザー定義テーブル: 例?
設計の一環として、実行時にデータベース スキーマを変更する操作を許可するつもりです。上記の質問で説明したように、Cayenne はこれをサポートしているようです。
ファイル システムを使用せずに、新しいプロジェクト定義を ServerRuntime に提供する方法に興味がありました。
ソースを見ると、次の 2 つのオプションがあるように見えます。
(1) カスタム クラスローダーを実装し、それをスレッド ローカル クラス ローダーとして設定し、Cayenne が ClassLoaderResourceLocator を使用してそれを見つけられるようにします。
(2) カスタム ResourceLocator を実装し、インジェクションを使用してバインドします。
(1) を行う方法は明らかですが、ClassLoaderResourceLocator の動作に依存しないため、(2) の方が少しすっきりしています。
(2)は合理的ですか、これをどのようにコーディングしますか?