Saída SQL hibernate não mostra quando "Cria"

Bom dia Guj.

Estou usando o Hibernate com a propriedade do hibernate.cfg.xml true .


      <property name="connection.driver_class">com.mysql.jdbc.Driver</property>  
      <property name="connection.url">jdbc:mysql://localhost:3306/Banco1</property>  
      <property name="connection.username">teste</property>  
      <property name="connection.password">root</property>  
      <property name="hbm2ddl.auto">create-drop</property>
      <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>  
     <property name="show_sql">true</property>  
  

no Console aparece quando eu faço um insert, select etc… nas tabelas, porem quando eu rodo a aplicação para criar a tabela, ele não “printa” p create no console…

Alguem poderia me ajudar?

Bom dia!

Tente usar

         <property name="hibernate.show_sql" value="true"/>

O Hibernate não mostra as SQL’s de criação de tabelas no console, mesmo com show_sql = true. Só mostra uma mensagem que não encontrou a tabela no schema e a criou (quando se usa hbm2ddl.auto como update)

Ele mostra sim, QUANDO cria, so nao mostra COMO cria. Para ver como ele cria, voce precisa usar executar o Schema Export.

Aqui, achei uma classe que utilizava para isso:

[code]
public class GeraTabelaNoBanco {

public static void main(String[] args) {
    
    Configuration cfg = new Configuration().configure();
    SchemaExport schema = new SchemaExport(cfg);
    schema.create(true, true);
}

}[/code]

Com essa classe voce cria suas tabelas de acordo com seus *.hbm.xml e/ou persistence.xml ou hibernate.properties. Nem precisa subir o servidor, pode executar somente esta classe.

Se for classes com annotations, basta tirar o .configure() e depois declara-las com cfg.addAnnotatedClass(NOME DA CLASSE.class);

Abraços.

Lembrando que isso ira sobreescrever seu banco

Okey.

Grato