Gerar tabelas com JPA

É possível criar as tabelas a partir das anotações com JPA.

Antes era assim com hibernate

Configuration configuration = new AnnotationConfiguration();   
configuration.configure();   
  
SchemaExport se = new SchemaExport(configuration);   
se.create(true, true); 

E agora com JPA como eu faço para gerar os scripts das tabelas?

Agradeço quem puder ajudar!

Jukinha

Você está usando o Hibernate como provedor de persistência?

Caso esteja, coloca o elemento, abaixo, no persistence.xml:

Isso mesmo, eu utilizo o Hibernate como provider.

Essa instrução vai gerar um arquivo com os comandos SQL? se sim onde?
Ou ele manda os comandos direto para banco de dados

você poderia postar um exemplo.

Agradeço antecipadamente pela ajuda.

Jukinha

ele cria no banco de dados tudo o que nao existir…

voce pode usar o codigo abaixo:

[code]public class GerarBanco {
public static void main(String arg[]){
//cria uma configuracao
AnnotationConfiguration cfg = new AnnotationConfiguration();

	//hibernate.cfg.xml 
	cfg.configure();
	
	//Responsável pela criação do schema e execução
	SchemaExport export = new SchemaExport(cfg);
	
	//export.create(imprimir o sql, se deve executar)
	//drop e cria novamente a tabela
	export.create(true, true);
}

}[/code]

só precisa mapear corretamente as classes no seu hibernate.cfg.xml ou no seu persitence.xml

Se você preferir usar o persistence.xml ao invés do hibernate.cfg.xml, você pode fazer assim:

[code]Ejb3Configuration cfg = new Ejb3Configuration();

// OBS: default eh o nome de meu persistence-unit no persistence.xml.
// O configure vai procurar o persistence.xml dentro da pasta META-INF que tem que estar no classpath
cfg.configure(“default”, null);
Configuration hbmcfg = cfg.getHibernateConfiguration();

SchemaExport schemaExport = new SchemaExport(hbmcfg);
schemaExport.create(true, true);[/code]

[quote=thiagocg]voce pode usar o codigo abaixo:

[code]public class GerarBanco {
public static void main(String arg[]){
//cria uma configuracao
AnnotationConfiguration cfg = new AnnotationConfiguration();

	//hibernate.cfg.xml 
	cfg.configure();
	
	//Responsável pela criação do schema e execução
	SchemaExport export = new SchemaExport(cfg);
	
	//export.create(imprimir o sql, se deve executar)
	//drop e cria novamente a tabela
	export.create(true, true);
}

}[/code]

só precisa mapear corretamente as classes no seu hibernate.cfg.xml ou no seu persitence.xml[/quote]

Tentei assim com o persistence.xml, mas não funcionou. Desta forma só funcionou com o hibernate.cfg.xml. Eu postei em uma mensagem anterior como fazer para usar o persistence.xml.