Como funciona um 'GeraBanco' no Hibernate?

3 respostas
katsukawa

Olá pessoal!! :slight_smile:

Faz uns 15 dias que estou estudando jsp, servlets e agora comecei a estudar Vraptor.

Eu terminei de ler a apostila fj21 da caelum e iniciei a fj28. Configurei o Eclipse tudo certinho como pede na apostila e rodei meu primeiro ‘GeraBanco’ no Hibernate.

Foi tanta alegria quando deu certo… :lol: mas aí… percebi o seguinte… :roll: “Eu não sei como funciona o processo…” (Eu queria aprender VRaptor sem usar Hibernate mas to achando quase impossível…)

Segue meu código do GeraBanco


package br.com.jcomputacao.vraptor.util;

import org.hibernate.cfg.AnnotationConfiguration;

import org.hibernate.cfg.Configuration;

import org.hibernate.tool.hbm2ddl.SchemaExport;

public class GeraBanco {

public static void main (String args[]) {
	Configuration conf = new AnnotationConfiguration();
	conf.configure();
	
	SchemaExport se = new SchemaExport(conf);
	se.create(true, true);	
}

}

Eu tenho um classe modelo chamada Usuario e ela está mapeada no hibernate.cfg.xml

O que eu gostaria de saber é como o hibernate sabe que existe a classe modelo Usuário se eu não coloquei nada no código GeraBanco??

Seria talvez que o hibernate ao receber o comando se.create(true, true) busque por todas as @Entitys e cria todos as tabelas??? :roll:

3 Respostas

Paulo_Silveira

Oi KatsuBoy!

A classe AnnotationConfiguration vai ler seu hibernate.cfg.xml e criar tabelas para todas as entidades la configuradas, como é o caso da sua Usuario! :slight_smile:

abracos

S

olha ai .

public class GeraBanco {

public static void main (String args[]) {
Configuration conf = new AnnotationConfiguration();
conf.configure(); // lê seu hibernate.cfg.xml
 
SchemaExport se = new SchemaExport(conf);
se.create(true, true);// aqui o primeiro true gera o script de criação do banco , o segundo se voce quer executar ele no banco ou não 
}
}
katsukawa

Obrigado pessoal!

Sei muito pouco de hibernate por isso essas perguntas toscas… :lol:

Desculpe a demora pra responder mas é que eu acabei descobrindo por tentativa e erro… kkk

mas valew, muito obrigado!

Criado 13 de outubro de 2009
Ultima resposta 29 de out. de 2009
Respostas 3
Participantes 3