@Jeferson_Carlos escreveu:
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">
<!-- 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?
Mensagens: 1
Participantes: 1