3

次のコードでデータベーステーブルを作成しています。

public void createSchema() {
    Configuration configuration = new Configuration();
    configuration.setProperty("hibernate.connection.driver_class", driverClassName);
    configuration.setProperty("hibernate.connection.url", url);
    configuration.setProperty("hibernate.connection.username", username);
    configuration.setProperty("hibernate.connection.password", password);
    configuration.setProperty("hibernate.dialect", hibernateDialect);

    configuration.addAnnotatedClass(Base.class);
    configuration.addAnnotatedClass(User.class);
    logger.info("begin database schema creation =========================");
    new SchemaUpdate(configuration).execute(true, true);
    logger.info("end database schema creation ===========================");
}

ここでは、メソッドごとに注釈付きクラス名を指定しましたconfiguration.addAnnotatedClass。私が50のクラスを持っている場合、それは本当に厄介になります。

注釈付きクラスをスキャンするためのパッケージ名を指定する方法はありますか?

4

2 に答える 2

3

Reflectionsを使用して、@ Entityとして注釈が付けられているすべてのエンティティをロードし、それらを休止状態の構成に追加できます。サンプルコードHibernate4AnnotationConfigurationのリンクをチェチします

マディ

于 2012-10-06T18:13:18.593 に答える
3

私はHibernate4での変更の多くに精通していませんが、Hibernate 3でこれを行う方法はありませんでした。Springの優れたHibernateサポートを使用することをお勧めします。これにより、要求されているように、エンティティのパッケージをスキャンできます。 Springコンテナでアプリを実行すると、他の多くのものも管理できます。

于 2012-05-12T14:54:49.350 に答える