/* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. */ package org.hibernate.spatial.testing.dialects.oracle; import java.sql.SQLException; import org.hibernate.spatial.testing.DataSourceUtils; import org.hibernate.spatial.testing.SQLExpressionTemplate; public class SDODataSourceUtils extends DataSourceUtils { public SDODataSourceUtils(String jdbcDriver, String jdbcUrl, String jdbcUser, String jdbcPass, SQLExpressionTemplate sqlExpressionTemplate) { super( jdbcDriver, jdbcUrl, jdbcUser, jdbcPass, sqlExpressionTemplate ); } @Override public void afterCreateSchema() { super.afterCreateSchema(); try { setGeomMetaDataTo2D(); createIndex(); } catch ( SQLException e ) { throw new RuntimeException( e ); } } private void createIndex() throws SQLException { String sql = "create index idx_spatial_geomtest on geomtest (geom) indextype is mdsys.spatial_index"; executeStatement( sql ); } private void setGeomMetaDataTo2D() throws SQLException { String sql1 = "delete from user_sdo_geom_metadata where TABLE_NAME = 'GEOMTEST'"; String sql2 = "insert into user_sdo_geom_metadata values (" + " 'GEOMTEST'," + " 'geom'," + " SDO_DIM_ARRAY(" + " SDO_DIM_ELEMENT('X', -180, 180, 0.00001)," + " SDO_DIM_ELEMENT('Y', -90, 90, 0.00001)" + " )," + " 4326)"; executeStatement( sql1 ); executeStatement( sql2 ); } }