Boa noite pessoal
Estou tentando criar a tabela Estado no Hibernate, mas não estou conseguindo.
Poderiam me ajudar?
Segue configuracoes e classe.
Hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<!-- Configuracao do Hibernate -->
<session-factory>
<!-- Configuracoes de conexão com o Banco de Dados -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://127.0.0.1:3306/drogaria</property>
<property name="connection.username">root</property>
<property name="connection.password">yusuke</property>
<!-- JDBC connection pool (use the built-in) -->
<property name="connection.pool_size">1</property>
<!-- SQL dialect(idioma do banco) -->
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<!-- Enable Hibernate's automatic session context management (gerencimaneto
do contexto das sessoes) -->
<property name="current_session_context_class">thread</property>
<!-- Disable the second-level cache ( Cache de segundo nivel) -->
<property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
<!-- Echo all executed SQL to stdout ( mostra as sqls geradas) -->
<property name="show_sql">true</property>
<!-- Drop and re-create the database schema on startup ( criar as tabelas
do banco ) -->
<property name="hbm2ddl.auto">create</property>
<!-- Mapeamento das Entidades -->
<mapping class="br.com.jeff.drogaria.domain.Estado"/>
</session-factory>
HibernateUtil
package br.com.jeff.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 {
// cria um objeto do tipo sessionfactory
private static SessionFactory fabricaDeSessao = criarFabricaDeSessao();
public static SessionFactory getFabricaDeSessao() {
return fabricaDeSessao;
}
public static void setFabricaDeSessao(SessionFactory fabricaDeSessao) {
HibernateUtil.fabricaDeSessao = fabricaDeSessao;
}
private static SessionFactory criarFabricaDeSessao(){
try{
//agora ele vai buscar os itens de configuracao do hibernate.cfg
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("Criação da Fabrica de Sessões falhou." + ex);
throw new ExceptionInInitializerError(ex);
}
}
}
HibernateUtilTeste
package br.com.jeff.drogaria.util;
import org.hibernate.Session;
import org.junit.Test;
public class HibernateUtilTest {
//ESSA CLASSE CHAMA A FABRICA DE SESSAO
@Test
public void conectar(){
Session sessao = HibernateUtil.getFabricaDeSessao().openSession();
sessao.close();
HibernateUtil.getFabricaDeSessao().close();
}
}
GenericDomain
package br.com.jeff.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 // essa anotacao significa que essa classe nao vai ser uma tabela.
public class GenericDomain implements Serializable {
@Id // essa anotacao diz pro codigo que esse campo é uma chave primaria
@GeneratedValue(strategy = GenerationType.AUTO)
private Long codigo;
public Long getCodigo() {
return codigo;
}
//ESSA E UMA CLASSE DE APOIO PARA GERAR CHAVE PRIMARIAS DE OUTRAS TABELAS
}
Classe Estado
package br.com.jeff.drogaria.domain;
import javax.persistence.Entity;
import javax.persistence.Table;
//precisamos informar que essa classe é uma entidade do Hibernate, ou seja, ele é uma tabela, usaremos o annotation entity
@SuppressWarnings("serial")
@Entity
@Table
public class Estado extends GenericDomain{
private String sigla;
private String nome;
public String getSigla() {
return sigla;
}
public void setSigla(String sigla) {
this.sigla = sigla;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
Ele roda normalmente, porém, nenhuma tabela é criada.
Poderiam me ajudar por favor?