Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Não consigo criar tabela no gerador do Hiberate

$
0
0

@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

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>