Hibernate não está criando as tabelas

No arquivo .cfg tenho configurado:

Os comandos de INSERT, UPDATE, DELETE são executados. Porém, o CREATE TABLE não.
O mesmo arquivo e programa funciona em outro computador.

O problema pode estar acontecendo porque nesse computador o MySQL não está configurado para rodar por linha de comando? (As variáveis do ambiente não foram configuradas manualmente)

cara

verifica se o usuário que a aplicacao conecta no bd tem permissão de criar as tabelas, se elas já não existem em outro squema do banco, pode testar também se executar a criação via query de alguma tabela funciona…

Fiz o seguinte teste:

Usando a propriedade como update e com o banco de dados já criado. Consigo inserir/pesquisar/excluir registros.
Com a propriedade create ele exclui tudo o que tem, mas não consegui criar as tabelas.

O usuário tem permissão para criar tabelas.

Olá paceiro,

normalmente costumo utilizar o hibernate tools para gerar as tabelas, mas para isso é necessário que vc tenha as classes de persistencias devidamente mapeadas através de xml ou anotações.

verifica se isso foi feito, caso contrário vc terá que postar seu codigo

então, vc resolveu o problema

Resolvido!

Ativei o DEBUG do Hibernate.
Verifiquei que as tabelas não estavam sendo criadas, pois a sintaxe do SQL gerada pelo Hibernate estava “errada”.

O computador que estava funcionando roda a versão 5.1 do MySQL que é compatível com o dialect org.hibernate.dialect.MySQLInnoDBDialect

Já os outros computadores rodam a versão 5.5 do MySQL. (versão que não usa mais a especificação da engine=InnoDB no final da criação do CREATE TABLE)

Solução: Mudar o dialect do Hibernate
org.hibernate.dialect.MySQL5InnoDBDialect

[quote=RafaelViana]Resolvido!

Ativei o DEBUG do Hibernate.
Verifiquei que as tabelas não estavam sendo criadas, pois a sintaxe do SQL gerada pelo Hibernate estava “errada”.

O computador que estava funcionando roda a versão 5.1 do MySQL que é compatível com o dialect org.hibernate.dialect.MySQLInnoDBDialect

Já os outros computadores rodam a versão 5.5 do MySQL. (versão que não usa mais a especificação da engine=InnoDB no final da criação do CREATE TABLE)

Solução: Mudar o dialect do Hibernate
org.hibernate.dialect.MySQL5InnoDBDialect[/quote]
Solução: Mudar o dialect do Hibernate
De: org.hibernate.dialect.MySQL5InnoDBDialect
Para: org.hibernate.dialect.MySQLDialect

Também funciona

hibernate.dialect = org.hibernate.dialect.MySQLDialect
hibernate.connection.driver_class = com.mysql.jdbc.Driver
hibernate.connection.url = jdbc:mysql://localhost/anuncios
hibernate.connection.username = root
hibernate.connection.password = root
hibernate.show_sql = true
hibernate.format_sql = true

[quote=drsmachado][quote=RafaelViana]Resolvido!

Ativei o DEBUG do Hibernate.
Verifiquei que as tabelas não estavam sendo criadas, pois a sintaxe do SQL gerada pelo Hibernate estava “errada”.

O computador que estava funcionando roda a versão 5.1 do MySQL que é compatível com o dialect org.hibernate.dialect.MySQLInnoDBDialect

Já os outros computadores rodam a versão 5.5 do MySQL. (versão que não usa mais a especificação da engine=InnoDB no final da criação do CREATE TABLE)

Solução: Mudar o dialect do Hibernate
org.hibernate.dialect.MySQL5InnoDBDialect[/quote]
Solução: Mudar o dialect do Hibernate
De: org.hibernate.dialect.MySQL5InnoDBDialect
Para: org.hibernate.dialect.MySQLDialect

Também funciona

hibernate.dialect = org.hibernate.dialect.MySQLDialect hibernate.connection.driver_class = com.mysql.jdbc.Driver hibernate.connection.url = jdbc:mysql://localhost/anuncios hibernate.connection.username = root hibernate.connection.password = root hibernate.show_sql = true hibernate.format_sql = true [/quote]

Mas como você fez com os relacionamentos do banco de dados, se o banco de dados não for InnobDB ele não cria relacionamentos…