我通过以下代码创建数据库表:
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个课程,那么它将非常混乱。
有没有办法为扫描注释类指定包名?
答案 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
麦迪