`
linliangyi2007
  • 浏览: 1012543 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

优雅Java编程 之 使用Hibernate存储Oracle Spatial对象

阅读更多
使用Hibernate存储Oracle Spatial对象


在hibernate.cfg.xml文件中做如下设置:
  <!-- dialect for Oracle 10G Spatial -->
<property name="dialect">com.navsys.spatial.OracleSpatialDialect</property>

在对应java bean的ORM文件中,设置属性的java类型为com.navsys.spatial.JGeometryType

  <property name="geoloc" column="GEOLOC" type="com.navsys.spatial.JGeometryType"></property>


以下是使用hibernate保存Geometry的java 代码样例

  
  LBSBusLine busLine = new LBSBusLine();
  ........
  ........
  //Geometry的坐标数组
  double coords = .....
  //构造oracle.spatial.geometry.JGeometry对象
  JGeometry geometry = null;
  geometry = JGeometry.createLinearLineString(coords,2,8307);//保存成为一种线型
  //将oracle.spatial.geometry.JGeometry对象封装成  com.navsys.spatial.JGeometryType对象
   JGeometryType gotmetryType = new JGeometryType(geometry);
   busLine.setGeoloc(gotmetryType);
   .........
   .........
   //通过Hibernate Session保存bean
   session.save(busLine);


由于com.navsys.spatial.JGeometryType是对oracle.spatial.geometry.JGeometry对象使用装饰模式实现了彻底封装,因此,在读取JGeometry属性的操作中,直接使用bean的GET方法即可获得 com.navsys.spatial.JGeometryType型的信息就可以了。

以下附上几个需要的jar包:
(PS:上传jar文件不成功,只好将文件名改为.zip,请各位下载后手动将文件名改回.jar)

  • navsys.jar.zip (8.1 KB)
  • 描述: 实现了Hibernate org.hibernate.usertype.UseType接口的com.navsys.spatial.JGeometryType类
  • 下载次数: 360
  • sdoapi.jar.zip (23 KB)
  • 描述: Oracle Spatial 的Java API包
  • 下载次数: 398
分享到:
评论
4 楼 gao_shengxian 2015-12-10  
Hibernate: update T_GX_TEST set BGSJ=?, BZ=?, DZBM=?, DZFL=?, DZJDZB=?, DZMC=?, DZWDZB=?, DZZTDM=?, JGHDZDX=?, QYSJ=?, SSJLXID=?, SSJZWID=?, SSZDYJGAZZJG=?, SSZDYJXZQH=?, TYSJ=?, WHDWDM=?, WHDWMC=?, WHR=?, ZCSJ=?, SHAPE=? where DZBZ=?
Exception in thread "main" java.lang.ClassCastException: org.apache.commons.dbcp.PoolableConnection cannot be cast to oracle.jdbc.driver.OracleConnection
请问这个怎么解决?修改空间字段报错呢
空间字段类型MDSYS.SDO_GEOMETRY
3 楼 bill_lzh 2014-03-31  
谢谢!!!
2 楼 turnhopes 2013-08-06  
 
1 楼 zjhdreams 2013-04-01  
很不错的哦,谢谢了!

相关推荐

    Oracle Spatial与ArcGIS连接

    许多组织正在转向使用Oracle Spatial作为其核心数据库系统,这主要是因为Oracle Spatial能够提供强大的空间数据存储与处理能力。在这一背景下,如何实现ArcGIS与Oracle Spatial的有效集成成为了一个重要的课题。本文...

    oracleSpatial java Api lib

    Java API for Oracle Spatial(通常简称为 JSDO 或 SDO Java API)是与 Oracle Spatial 配合使用的接口,允许开发人员使用 Java 语言来操作和管理地理空间数据。 标题 "oracleSpatial java Api lib" 指的是一个包含...

    xtreme for java连接oracle spatial 空间数据库.doc

    通过以上步骤,开发者可以使用xtreme for Java成功地连接并操作Oracle Spatial空间数据库,实现地理空间数据的存储、检索和分析。这个过程涉及到Java编程、数据库连接管理、SQL查询以及对Oracle Spatial特性的理解和...

    oracle.spatial的jar包

    它使得开发者能够在应用程序中创建、操作和存储符合 Oracle Spatial 规范的空间对象。 README 文件通常包含有关这些库的详细信息,如版本号、依赖项、使用示例和注意事项。在实际开发中,开发者需要根据 README 的...

    使用Oracle Spatial对ArcSDE中的SDO_GEOMETRY类型数据进行空间操作

    "使用Oracle Spatial对ArcSDE中的SDO_GEOMETRY类型数据进行空间操作" Oracle Spatial 是 Oracle 数据库中的一个空间数据处理组件,用于存储、管理和操作空间数据。ArcSDE 是一个空间数据引擎,用于存储和管理大规模...

    Oracle Spatial学生指导

    在应用开发方面,你将了解到如何使用Oracle的Java API(JGeometry)或PL/SQL包(如SDO_API)进行空间数据的编程操作。这些API提供了丰富的函数和过程,可以方便地在应用程序中集成空间功能。 学习Oracle Spatial...

    Oracle Spatial9i介绍

    Oracle Spatial9i是Oracle公司推出的用于处理空间数据的强大工具包,它不仅解决了空间数据的存储问题,还提供了丰富的空间查询和分析功能。通过Oracle Spatial9i,GIS开发者能够更加便捷地管理空间数据,并利用...

    oracle spatial 用户指南

    Oracle Spatial支持多种地理空间数据格式,如Shapefile、GML、KML等,允许用户存储和管理这些数据。 2. **Spatial Indexing**: 为了高效查询和操作地理空间数据,Oracle Spatial使用了一种特殊的空间索引技术,如R-...

    oracle spatial的官方指南

    - 用户在使用Oracle Spatial时需要遵循相应的许可证协议,不得擅自反编译或修改程序代码。 ### 结语 综上所述,Oracle Spatial为地理空间数据的管理提供了一个强大的平台,它不仅支持高效的存储和索引,还提供了一...

    Oracle Spatial 官方文档 pdf

    "Oracle Spatial User's Guide and Reference" 提供了关于如何使用 Oracle Spatial 的全面指南,包括安装、配置、数据导入导出、空间操作、查询语言(如 SDO_GEOMETRY 和 MDSYS 对象)等。参考部分则深入解析了各种...

    Hibernate Spatial 4 教程

    为了使用 Hibernate Spatial 4,需要在classpath中添加以下库:hibernate、JDBC 驱动程序和 hibernate-spatial.jar,以及所有 transitive 依赖项。 二、 配置 Hibernate Spatial 要使用 Hibernate Spatial,需要在...

    [Oracle] Oracle Spatial 应用扩展 (英文版)

    Understand how to develop Oracle Spatial data models and applications that use PL/SQL and Java to solve common problems using practical, hands-on examples Design a data model for spatial applications ...

    Oracle Spatial用户指南

    Oracle Spatial使用SDO_GEOMETRY数据类型来存储空间对象,该数据类型包含了对象的几何信息和坐标系统信息。此外,还支持多种空间参考系统,允许用户在不同坐标系之间转换数据。 三、空间索引 为了提高空间查询的...

    Oracle Spatial Developer's Guide

    6. 应用开发:使用Oracle Spatial API(如Java、.NET等)进行空间应用开发,理解API的工作原理和最佳实践。 在实践中,开发者可能需要处理的问题包括: - 如何处理大规模的空间数据,确保系统的稳定性和响应速度。 ...

    基于Oracle Spatial的矢量空间数据管理机制.pdf

    Oracle Spatial是一种空间数据库管理系统,可以管理和存储矢量空间数据。该系统基于Oracle数据库管理系统,提供了一个对象关系模型来存储和管理空间几何实体。 Oracle Spatial的数据模型包括对象关系模型和抽象...

    Oracle Spatial

    总之,Oracle Spatial是Oracle数据库在地理信息领域的强大工具,它的功能涵盖了空间数据存储、查询、分析、可视化的全过程。掌握Oracle Spatial,将有助于开发出高效、准确的GIS应用,满足各种空间信息需求。

    Oracle Spatial空间索引 解析

    Oracle Spatial允许对空间数据进行存储、检索、更新和查询操作,是处理地理信息系统(GIS)、城市规划、遥感图像等需要大量空间信息应用的强大工具。 Oracle Spatial由以下主要组件构成: 1. MDSYS模式:这是...

    pro oracle spatial for oracle db 11g英文版电子书(含代码和数据)

    9. **地图服务**:介绍如何使用Oracle Spatial创建地图服务,以供Web应用程序使用。 10. **Web GIS集成**:讨论与流行的GIS客户端(如ArcGIS和OpenLayers)集成的方法。 11. **性能调优**:提供了关于如何优化空间...

    oracle spatial.zip

    8. **GIS 应用集成**:文档可能涵盖如何将 Oracle Spatial 集成到 GIS 应用程序中,包括使用 JDBC、ODBC 或其他 API 进行数据访问和处理。 9. **性能优化**:对于大型地理空间数据集,性能优化是关键。文档可能会...

    《Oracle Spatial与OCI高级编程》.rar

    《Oracle Spatial与OCI高级编程》是一本专注于Oracle数据库中Spatial特性和Oracle Call Interface (OCI) 高级编程技术的专业书籍。Oracle Spatial是Oracle数据库的一个重要组件,它提供了强大的空间数据管理和分析...

Global site tag (gtag.js) - Google Analytics