Hibernate不会在数据库中创建我的表

时间:2014-05-10 15:45:31

标签: java spring hibernate postgresql

在我的spring项目中,我有一个服务类来创建我的数据库和表。创建数据库(成功完成)后,将调用此方法:

public void create_tables(String maquina, String usuario, String senha) {
    System.out.println("create_tables");
    create_properties(maquina, usuario, senha);

    Configuration config = new Configuration();
    Properties props = new Properties();
    FileInputStream fos;
    try {
        fos = new FileInputStream( "database.properties" );
        props.load(fos);
        fos.close();
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    config.setProperties(props);

    try {
        String url = props.getProperty("jdbc.url");
        Connection conn = DriverManager.getConnection(url,usuario,senha);
        SchemaExport schema = new SchemaExport(config, conn);
        schema.create(true, true);
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    insert_default_values();
}

但是,尽管在Eclipse控制台显示中成功导出了架构,但我的数据库中没有创建任何表。

任何人都可以看到这里有什么问题?

更新

database.properties

#propriedades
#Sat May 10 12:52:57 BRT 2014
jdbc.url=jdbc\:postgresql\://localhost\:5432/horario
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.show_sql=false
jdbc.user=<<my database user>>
jdbc.Classname=org.postgresql.Driver
hibernate.hbm2ddl.auto=update
jdbc.pass=<<my password>>

HibernateConfig.java - &gt; https://github.com/klebermo/webapp_horario_livre/blob/master/src/com/horariolivre/resources/HibernateConfig.java

实体类 - &gt; https://github.com/klebermo/webapp_horario_livre/tree/master/src/com/horariolivre/entity

道类 - &gt; https://github.com/klebermo/webapp_horario_livre/tree/master/src/com/horariolivre/dao

1 个答案:

答案 0 :(得分:0)

尝试添加以下代码段:

config.addAnnotatedClass(com.horariolivre.entity.Atributo.class);
config.addAnnotatedClass(com.horariolivre.entity.Autorizacao.class);
...

这是你在找什么?