All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.hibernate.mapping.SimpleAuxiliaryDatabaseObject Maven / Gradle / Ivy

There is a newer version: 4.2.4
Show newest version
// $Id: SimpleAuxiliaryDatabaseObject.java 7800 2005-08-10 12:13:00Z steveebersole $
package org.hibernate.mapping;

import java.util.HashSet;

import org.hibernate.dialect.Dialect;
import org.hibernate.engine.Mapping;
import org.hibernate.HibernateException;
import org.hibernate.util.StringHelper;

/**
 * A simple implementation of AbstractAuxiliaryDatabaseObject in which the CREATE and DROP strings are
 * provided up front.  Contains simple facilities for templating the catalog and schema
 * names into the provided strings.
 * 

* This is the form created when the mapping documents use <create/> and * <drop/>. * * @author Steve Ebersole */ public class SimpleAuxiliaryDatabaseObject extends AbstractAuxiliaryDatabaseObject { private final String sqlCreateString; private final String sqlDropString; public SimpleAuxiliaryDatabaseObject(String sqlCreateString, String sqlDropString) { this.sqlCreateString = sqlCreateString; this.sqlDropString = sqlDropString; } public SimpleAuxiliaryDatabaseObject(String sqlCreateString, String sqlDropString, HashSet dialectScopes) { super( dialectScopes ); this.sqlCreateString = sqlCreateString; this.sqlDropString = sqlDropString; } public String sqlCreateString( Dialect dialect, Mapping p, String defaultCatalog, String defaultSchema) throws HibernateException { return injectCatalogAndSchema( sqlCreateString, defaultCatalog, defaultSchema ); } public String sqlDropString(Dialect dialect, String defaultCatalog, String defaultSchema) { return injectCatalogAndSchema( sqlDropString, defaultCatalog, defaultSchema ); } private String injectCatalogAndSchema(String ddlString, String defaultCatalog, String defaultSchema) { String rtn = StringHelper.replace( ddlString, "${catalog}", defaultCatalog ); rtn = StringHelper.replace( rtn, "${schema}", defaultSchema ); return rtn; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy