无法使用 geotools 从 PostGis 查询类型为双精度 [] 的 table
Can not query table with type double precision[] from PostGis with geotools
- Postgres 9
- Postgis
- 地理工具 12.2
在 Java 后端,我尝试通过 geotools 进行查询。它工作正常,直到我尝试使用 "double precision[]" 类型的属性进行查询。
首先 geotools 记录一个警告:
org.geotools.jdbc.JDBCFeatureSource buildFeatureType
WARNING: Could not find mapping for '<my column name>', ignoring the column and setting the feature type read only
然后在某个深处,或多或少围绕 PostGISDialect 级别,它抛出 NullPointerException。我尝试调试整个过程,发现 JDBCFeatureSource "double precision[]" 是“_float8”(typeName),sqlType 是“2003”(java.sql.Types 中的 ARRAY)。并且 JDBFeatureSource 找不到 _float8 和 SQL ARRAY 类型的绑定。
如果我可以用我自己的数据类型扩展 geotools,我试图找到一些信息,但我失败了。有谁知道如何将 "double precision[]" 类型与 geotools 一起使用?
再见,
简单地说,你现在不能。
更长的解释,我认为 GeoTools PostGISDialect 中没有针对该类型数据的映射器。你可能想为它提供一个补丁,应该不会太难。
西蒙娜。
- Postgres 9
- Postgis
- 地理工具 12.2
在 Java 后端,我尝试通过 geotools 进行查询。它工作正常,直到我尝试使用 "double precision[]" 类型的属性进行查询。
首先 geotools 记录一个警告:
org.geotools.jdbc.JDBCFeatureSource buildFeatureType
WARNING: Could not find mapping for '<my column name>', ignoring the column and setting the feature type read only
然后在某个深处,或多或少围绕 PostGISDialect 级别,它抛出 NullPointerException。我尝试调试整个过程,发现 JDBCFeatureSource "double precision[]" 是“_float8”(typeName),sqlType 是“2003”(java.sql.Types 中的 ARRAY)。并且 JDBFeatureSource 找不到 _float8 和 SQL ARRAY 类型的绑定。 如果我可以用我自己的数据类型扩展 geotools,我试图找到一些信息,但我失败了。有谁知道如何将 "double precision[]" 类型与 geotools 一起使用?
再见, 简单地说,你现在不能。
更长的解释,我认为 GeoTools PostGISDialect 中没有针对该类型数据的映射器。你可能想为它提供一个补丁,应该不会太难。
西蒙娜。