(Hibernate 3.6.1 + JPA 2) Como gerar os DDL´s sem efetivar-los no banco

Olá.
Eu tenho uma aplicação em funcionamento e nela tenho uma classe chamada GerarDDLs o qual faz uma chamada desta forma:

        /**
         * primeiro parametro => apresenta os Metadado durante a criação.
         * segundo parametro => manda criar os Metadados (True = APAGA FISICAMENTE O BANCO)
         */
new SchemaExport(cfg).create(true, false);

Este tipo de abordagem me é necessário para gerar somente os DDL´s sem aplicá-los definitivamente no banco, isso me ajuda a verificar o SQL gerado para identificar algum relacionamento ou mapeamento incorreto.

Eu gostaria de fazer o mesmo utilizando JPA, ou seja, só posso utilizar o mapeamento:

           <property name="hibernate.hbm2ddl.auto" value="create" />

e consecutivamente o Hibernate irá efetivar no banco, ou tem como apenas informar para que seja gerado o DDL (sql puro) sem aplicá-lo ?

Obrigado.

Se não entendi errado, você gostaria de utilizar do mesmo jeito que fazia antes, só que com JPA ?

Eu faço assim:

[code]Ejb3Configuration cfg = new Ejb3Configuration();
Configuration hbmcfg = cfg.getHibernateConfiguration();
boolean bCreate = false; // você decide

if (bCreate) {
SchemaExport s = new SchemaExport(hbmcfg);
// boolean script, boolean export, boolean justDrop,boolean justCreate
s.execute(true, false, false, false);
} else {
SchemaUpdate s = new SchemaUpdate(hbmcfg);
s.execute(true, false);
};[/code]
E lá no persistence.xml deixei assim:

[quote=jamirdeajr]Se não entendi errado, você gostaria de utilizar do mesmo jeito que fazia antes, só que com JPA ?

Eu faço assim:

[code]Ejb3Configuration cfg = new Ejb3Configuration();
Configuration hbmcfg = cfg.getHibernateConfiguration();
boolean bCreate = false; // você decide

if (bCreate) {
SchemaExport s = new SchemaExport(hbmcfg);
// boolean script, boolean export, boolean justDrop,boolean justCreate
s.execute(true, false, false, false);
} else {
SchemaUpdate s = new SchemaUpdate(hbmcfg);
s.execute(true, false);
};[/code]
E lá no persistence.xml deixei assim:

Perfeito Jamir!
Esta era a formula mágica que não esta conseguindo encontrar na NET.

Muito obrigado, seu código irá me ajudar muito.

Que nosso Senhor e Salvador Jesus lhe abençoe.

-----[ Editado ]-----

Jamir, só faltou informar qual o persistence-unit, conforme o código abaixo:

    public static void main(String[] args) {
        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();

        boolean bCreate = false; // você decide

        if (bCreate) {
            SchemaExport s = new SchemaExport(hbmcfg);
            // boolean script, boolean export, boolean justDrop,boolean justCreate
            s.execute(true, false, false, false);
        } else {
            SchemaUpdate s = new SchemaUpdate(hbmcfg);
            s.execute(true, false);
        };      
    }

Obrigado.

É mesmo!
Copiei de um projeto que estou usando e editei, sem querer deletei linhas demais!
Eu uso persistence unit condicional, pois o banco de dados está localizado em lugares diferentes quanto estou em casa ou no trabalho!

InetAddress address = InetAddress.getLocalHost(); if(address.getHostAddress().equals("192.168.1.100")) cfg.configure("baseLOCAL", null); else cfg.configure("baseQLA", null); //

Obrigado,
Deus abençoe você também

Mas onde o script é gerado? Pois não está aparecendo no console!

Obrigado!