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

6 respostas
E

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?

6 Respostas

Danilo_Carvalho

Bom dia!

Tente usar

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

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)

R

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

R

Aqui, achei uma classe que utilizava para isso:

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

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.

R

Lembrando que isso ira sobreescrever seu banco

E

Okey.

Grato

Criado 15 de janeiro de 2013
Ultima resposta 15 de jan. de 2013
Respostas 6
Participantes 4