eclipselink で動的マッピングを検索しましたが、私の場合の解決策が見つかりません。現在、私のシステムでは、エンティティに 3 つのバージョンがあり、1 つは作業中/ドラフト (つまり W100)、もう 1 つは実稼働 (つまり M100) であり、残りは1 つは履歴バージョン (H100) で、いつでも作業バージョン、実稼働バージョン、および履歴バージョンの両方にアクセスできます。すなわち
Account account = // query from working.
account.setStatus("APPROVED");
account.increaseVersionNo();
myJPAEngine.updateApproved(account); // this step update status to both working and production
//, and W100.PRODUCTION_IPKEY = M100.IPKEY
// (if production version does't exist
//, create a new one with same columns as working version).
//, if increaseVersionNo() called, then we need copy old 'M'- production record to 'H' history version table.
//, my JPA engine need access both 'W'/'M'/'H' tables at same time by passing a parameter to JPA API metadata classes by ThreadLocal or other related workaround.
eclipselink (または Hibernate) はこれをサポートしていますか? 私の動的マッピングは、使用するテーブルを決定するパラメーターを受け入れます。つまり、これはインタラクティブな動的マッピングです。いくつかのカスタマイズを eclipselink メタデータ クラスにプラグインする方法と方法は?
ありがとう。