org.hibernate.cfg.Configuration添加带注释类所在的包

时间:2012-05-12 14:33:54

标签: java configuration annotations package hibernate-4.x

我通过以下代码创建数据库表:

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个课程,那么它将非常混乱。

有没有办法为扫描注释类指定包名?

2 个答案:

答案 0 :(得分:3)

我不熟悉Hibernate 4中的许多变化,但在Hibernate 3中无法做到这一点。我建议使用Spring's excellent Hibernate support lets you scan packages for entities,就像你问的那样如果您在Spring容器中运行应用程序,也可以为您管理很多其他内容。

答案 1 :(得分:3)

您可以使用Reflection加载所有注释为@Entity的实体,并将它们添加到休眠配置中。切换链接fir示例代码  Hibernate 4 Annotation Configuration

麦迪