Java tutorial
/* * Copyright 2007-2010 JadaSite. * This file is part of JadaSite. * JadaSite is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * JadaSite is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * You should have received a copy of the GNU General Public License * along with JadaSite. If not, see <http://www.gnu.org/licenses/>. */ package com.jada.jpa.util; import org.hibernate.cfg.AnnotationConfiguration; import org.hibernate.tool.hbm2ddl.SchemaExport; import com.jada.xml.persistence.Persistence; import com.jada.xml.persistence.PersistenceLoader; public class JpaSchemaExport { String dialectName = null; String fileName = null; public JpaSchemaExport(String dialectName, String fileName) { this.dialectName = dialectName; this.fileName = fileName; } public void export() throws Exception { AnnotationConfiguration configuration = new AnnotationConfiguration(); configuration.setProperty("hibernate.hbm2ddl.auto", "create"); PersistenceLoader persistenceLoader = PersistenceLoader.getInstance(); Persistence persistence = persistenceLoader.getPersistence(); for (String className : persistence.getPersistenceUnit().getClassNames()) { Class<?> c = Class.forName(className); configuration.addAnnotatedClass(c); } configuration.setProperty("hibernate.dialect", dialectName); SchemaExport exporter = new SchemaExport(configuration); exporter.setDelimiter(";"); exporter.setOutputFile(fileName); boolean script = true; boolean export = false; boolean justDrop = false; boolean justCreate = false; exporter.execute(script, export, justDrop, justCreate); } public static void main(String[] args) { try { String dialectName = args[0]; String fileName = args[1]; JpaSchemaExport jpaExport = new JpaSchemaExport(dialectName, fileName); jpaExport.export(); } catch (Exception e) { e.printStackTrace(); } } }