0

アプリケーション プラットフォーム用のストレージ サブシステムを構築しています。メタモデルは動的になります (実行時に変更可能)。モデル構造を表すメタモデルがあります (プロパティ、関係、階層などを持つ疑似クラスを完備しています)。メタモデルは動的であるため、メタモデルの疑似クラスに対応する Java クラスはありません。

Hibernate はメタモデルを使用してクラスとテーブルをマッピングし、クラス モデルに基づいてクエリを生成し、オブジェクトにデータを入力することを知っています。Hibernate がクラスの代わりにメタクラスに対してこれを行い、具体的な POJO の代わりにプロキシ オブジェクトを設定する方法があるかどうか疑問に思っています。

基本的に、メタモデルを使用して、Java クラスの代わりに O/R マッピングを定義したいと考えています。これはHibernateで実行できますか? 実行時に CGLib のようなものを使用して実際のクラスを動的に生成し、それらをマッピングするというアイデアを蹴散らしましたが、もっと良い方法があることを願っています。

これには、Hibernate Proxy のようなものを使用して、POJO をサブクラス化せず、「純粋な」プロキシのままにする方法があることを願っています。

考え?

4

1 に答える 1

1

https://github.com/hibernate/hibernate-orm/tree/master/hibernate-core/src/test/java/org/hibernate/test/dynamicentityのサブフォルダーは、これを達成する 3 つの方法を表しています。私は tuplizer2 アプローチを見たいと思います。

于 2012-08-22T01:26:11.643 に答える