2

休止状態にエンティティを追加するにはどうすればよいですか? 私のものは、Spring と Hibernate で構築されたスタンドアロン アプリケーションです。

新しいエンティティのクラス ファイルに関するメタデータがあります。構成 XML ファイルを再起動したり変更したりせずに、それらを休止状態のセッション ファクトリに追加するにはどうすればよいですか?

すべてのマッピングは休止状態自体によって管理されます。また、接続パラメーターなどの構成のみが XML で維持されます。

要するに、エンティティのクラス ファイルの場所がある場合、構成ファイルを再起動したり変更したりせずに、そこからエンティティをピックアップするように hibernate に指示するにはどうすればよいでしょうか?

ありがとう。

4

2 に答える 2

3

休止状態のドキュメントから:

SessionFactory の内部状態は不変です。作成されると、この内部状態が設定されます。この内部状態には、オブジェクト/リレーショナル マッピングに関するすべてのメタデータが含まれます。

あなたができることは、動的にロードされるエンティティのセットごとに個別の SessionFactory を持つことです。構成を作成し、それに新しいクラスを追加します。それを使用して、新しい SessionFactoryまたはEntityManagerFactoryを作成します。

于 2012-07-21T03:52:32.003 に答える
3

これを行う方法は次のようなものです。

Configuration configuration = new Configuration().configure("hibernate.cfg.xml"); // base configuration

configuration.addAnnotatedClass(MyClass1.class); // @Entity classes
configuration.addAnnotatedClass(MyClass2.class);
configuration.addAnnotatedClass(MyClassN.class);

Session session = configuration.buildSessionFactory().openSession();
// Work with session...
于 2018-09-09T20:41:49.920 に答える