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