【问题标题】:Hibernate don't create my tables in the databaseHibernate 不在数据库中创建我的表
【发布时间】:2014-06-28 06:49:17
【问题描述】:

在我的 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 控制台显示模式已成功导出,但我的数据库中没有创建表。

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

更新

数据库.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 -> https://github.com/klebermo/webapp_horario_livre/blob/master/src/com/horariolivre/resources/HibernateConfig.java

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

道课->https://github.com/klebermo/webapp_horario_livre/tree/master/src/com/horariolivre/dao

【问题讨论】:

  • 这段代码 sn-p 中创建表的内容是什么?
  • SchemaExport schema = new SchemaExport(config, conn); schema.create(true, true);
  • 您能否编辑您的问题并至少包含文件“database.properties”中的内容示例?

标签: java spring hibernate postgresql


【解决方案1】:

尝试添加以下代码sn-p:

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

这是你要找的吗?

【讨论】:

    猜你喜欢
    • 2013-05-14
    • 2014-06-05
    • 2013-12-04
    • 2013-03-02
    • 1970-01-01
    • 2021-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多