jpa - java.lang.RuntimeException:无法从 PreparedStatement 获取 OracleSpatial Connection 对象
问题描述
从 Oracle 数据库读取 org.locationtech.jts.geom.Geometry 时出现以下错误:
java.lang.RuntimeException: Couldn't get at the OracleSpatial Connection object from the PreparedStatement.
at org.geolatte.geom.codec.db.oracle.DefaultConnectionFinder.find(DefaultConnectionFinder.java:101) ~[geolatte-geom-1.8.0.jar:na]
at org.geolatte.geom.codec.db.oracle.OracleJDBCTypeFactory.createStruct(OracleJDBCTypeFactory.java:117) ~[geolatte-geom-1.8.0.jar:na]
at org.hibernate.spatial.dialect.oracle.SDOGeometryValueBinder.store(SDOGeometryValueBinder.java:72) ~[hibernate-spatial-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.spatial.dialect.oracle.SDOGeometryValueBinder.toNative(SDOGeometryValueBinder.java:78) ~[hibernate-spatial-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.spatial.dialect.oracle.SDOGeometryValueBinder.bind(SDOGeometryValueBinder.java:53) ~[hibernate-spatial-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:276) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:271) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.param.NamedParameterSpecification.bind(NamedParameterSpecification.java:53) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
at org.hibernate.loader.hql.QueryLoader.bindParameterValues(QueryLoader.java:648) ~[hibernate-core-5.4.28.Final.jar:5.4.28.Final]
这是我的application.yml:
spring:
jpa:
database-platform: org.hibernate.spatial.dialect.oracle.OracleSpatial10gDialect
存储库类:
@Repository
public interface TestRepository extends JpaRepository<TestEntity, Long> {
@Query("SELECT s FROM TestEntity s where within(s.shape, :geom) = true")
List<TestEntity> getAllSites(@Param("geom") Point geom);
}
解决方案
推荐阅读
- javascript - 未检测到魔术头文件已使用这些加载程序处理:* ./node_modules/wasm-loader/index.js
- google-apps-script - 在 Google Apps 脚本中定义 BigQuery 表位置
- ssis - SSIS 查找转换无匹配输出仅填充 Null
- xamarin - Xamarin - 进入重点和 TapGestureRecognizer 不工作
- opentest - 如何从 opentest 中的文本文件中读取数据
- elastic-stack - 在 ubuntu 18.04 中安装 filebeat 的位置以及如何配置 logstash 以获取日志文件中的日志
- debugging - 如何在真实移动设备上检查代码(移动调试)
- python - 如何在简单的pytorch模型中重构cnn层的输出张量以供线性层使用
- javascript - 为什么当它的容器有全宽时滚动隐藏一些元素?
- azure - Azure Function-App 未登录到控制台或 AppInsights