我使用jts几何对象将我的几何对象存储为Oracle SDO_Geometry.然而,当我想使用SDO_GEOM.RELATE方法时,它们不能正常工作,我意识到需要创建一个空间索引,但不知道如何使用hibernate.你知道这个问题的任何注释.
@Type(type="org.hibernate.spatial.GeometryType") private Geometry area;
解决方法
那么,只需要在存储这些几何的表格上创建一个索引.为此使用sql.
您还需要(在创建索引之前)添加适当的元数据,以便索引创建具有所需的适当信息(坐标系,边界,容差).例如,假设你的几何是WGS84坐标:
insert into user_sdo_geom_Metadata (table_name,column_name,diminfo,srid) values ( 'US_CITIES','GEOMETRY',sdo_dim_array ( sdo_dim_element('long',-180.0,180.0,0.5),sdo_dim_element('lat',-90.0,90.0,0.5) ),4326 ); commit;
然后创建索引:
create index us_cities_sx on us_cities (geometry) indextype is mdsys.spatial_index;