Hibernate não cria tabelas no banco de dados

15/02/2018

0

Boa tarde.
Estou trabalhando em um novo projeto acompanhando um curso on line e esta correndo quase tudo bem, estou usando o windows 10 eo o Eclipse mars 2, na hora em que eu rodo o sistema para criar as tabelas automaticamente pelo hibernate, roda normalmente só que não cria as tabelas: veja as sequencias no depurador:

fev 14, 2018 4:08:05 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.2.12.Final}
fev 14, 2018 4:08:05 PM org.hibernate.cfg.Environment
INFO: HHH000206: hibernate.properties not found
fev 14, 2018 4:08:05 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager
INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
fev 14, 2018 4:08:06 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
fev 14, 2018 4:08:06 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://127.0.0.1:3306/dbdrogaria]
fev 14, 2018 4:08:06 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {user=root, password=****}
fev 14, 2018 4:08:06 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
fev 14, 2018 4:08:06 PM org.hibernate.engine.jdbc.connections.internal.PooledConnections
INFO: HHH000115: Hibernate connection pool size: 1 (min=1)
fev 14, 2018 4:08:06 PM org.hibernate.dialect.Dialect
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect
fev 14, 2018 4:08:07 PM org.hibernate.tool.schema.internal.SchemaCreatorImpl applyImportSources
INFO: HHH000476: Executing import script 'org.hibernate.tool.schema.internal.exec.ScriptSourceInputNonExistentImpl@11bf055’
fev 14, 2018 4:08:08 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl stop
INFO: HHH10001008: Cleaning up connection pool [jdbc:mysql://127.0.0.1:3306/dbdrogaria]

O módulo de criação de id automatico em todas as tabelas:

package br.com.ribeiro.drogaria.domain;
import java.io.Serializable;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;

@SuppressWarnings(“serial”)
@MappedSuperclass

public class GenericDomain implements Serializable{

@Id
@GeneratedValue(strategy = GenerationType.AUTO)

private int codigo;

public int getCodigo() {
return codigo;
}

public void setCodigo(int codigo) {
this.codigo = codigo;
}
}

O módulo Hibernate.cfg:

<?xml version="1.0" encoding="UTF-8"?>
<property name="connection.driver_class"> com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://127.0.0.1:3306/dbdrogaria</property>
<property name="connection.username">root</property>
<property name="connection.password"></property>

<!-- Pool de Conexões -->
<property name="connection.pool_size">1</property>

<!-- dialecto SQL -->
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>

<!-- Gerenciamento do Contexto das Sessões -->
<property name="current_session_context_class">thread</property>

<!-- Cache de Segundo Nível -->
<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>

<!-- Mostra como SQL Geradas -->
<property name="show_sql">true</property>
<property name="hibernate.format_sql">true</property>

<!-- Cria como tabelas do banco de dados -->
<property name="hbm2ddl.auto">create</property>

<!-- Mapeamento das entidades -->
<mapping class="br.com.ribeiro.drogaria.domain.Estado"/>
<mapping class="br.com.ribeiro.drogaria.domain.Fabricante"/>
<mapping class="br.com.ribeiro.drogaria.domain.Cidade"/>

</session-factory>
O modulo HibernateUtil:

package br.com.ribeiro.drogaria.util;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

public class HibernateUtil {
private static SessionFactory fabricaDeSessoes = criarfabricaDeSessoes();

public static SessionFactory getfabricaDeSessoes() {
return fabricaDeSessoes;
}

private static SessionFactory criarfabricaDeSessoes() {
try {
Configuration configuracao = new Configuration().configure();

ServiceRegistry registro = new StandardServiceRegistryBuilder().applySettings(configuracao.getProperties()).build();

SessionFactory fabrica = configuracao.buildSessionFactory(registro);

return fabrica;
} catch (Throwable ex) {
System.err.println("A fábrica de sessões não pode ser criada." + ex);
throw new ExceptionInInitializerError(ex);
}
}
}

O modulo HibernateUtilTest:

package br.com.ribeiro.drogaria.util;
import org.hibernate.Session;
import org.junit.Test;

public class HibernateUtilTest {
@Test
public void conectar(){
Session sessao = HibernateUtil.getfabricaDeSessoes().openSession();
sessao.close();
HibernateUtil.getfabricaDeSessoes().close();
}

}

O único problema é que ele não cria as tabelas no banco de dados, estou usando o MySqlWorkbench e o Xamp.
Alguém pode me dar uma ajuda conto a este problema?
Samuel Ribeiro

Samuel Ribeiro

Responder

Posts

15/02/2018

Samuel Ribeiro

Boa tarde
Corrigindo a uma tag, desconsidere a tag "NoSql", considerar a tag "MySql".
Obrigado.
Responder

16/02/2018

Samuel Ribeiro

Bom dia
Sera que alguém pode me indicar uma solução para este problema, ja rodei a internet a procura e todas as respostas não adiantaram, até postei este mesmo tópico em outro fórum mas ainda não achamos uma solução.

Desde ja Agradeço
Responder

19/02/2018

Igor Borba.

Samuel,

Boa tarde. Tudo bem? Segundo a documentação, para o parâmetro informado abaixo:

<property name="hbm2ddl.auto">create</property>

O correto não seria?

<property name="hibernate.hbm2ddl.auto">create</property>

Segue referência na documentação do hibernate:

https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#configurations-hbmddl
Responder

20/02/2018

Samuel Ribeiro

Bom dia Igor.borba

Ja tentei com esta configuração: <property name="hibernate.hbm2ddl.auto">create</property>
E não funcionou também, ja li esta documentação, não entendo o porque o hibernate esta pulando esta etapa na hora da depuração.
Meu muito obrigado pelo retorno
Um abraço
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar