既存のレガシー コードとプロセスに関連するさまざまな理由から、Hibernate を使用して、単一のエンティティ クラスを同じ構造の異なるテーブルにマップできるようにしたいと考えています。テーブルは、別の既知のテーブルから実行時に動的に作成されます。たとえば、次のクラスがあります。
public class Item {
private int id;
private String label;
...
}
これは、3 つの異なるテーブルにマップされ、ITEM1
すべて同じ構造を持っています。ITEM2
ITEM3
CREATE TABLE ITEM[1|2|3] (
NUMBER id PRIMARY KEY,
VARCHAR label NOT NULL)
前述のように、外部構成/条件に従って、実行時にテーブルが作成されます。
SOに関する次の質問を確認しました。
提案された解決策(サブクラス化)は可能ですが、実際には魅力的ではありません。これは、実行時に動的なクラスを作成する黒魔術を暗示しており、できれば避けたいと思います。
thisおよびthisブログ投稿から、同じエンティティを複数のテーブルにマップする動的な Hibernate マッピングを作成できると思います。
このような動的マッピングを実装した経験のある人はいますか?