无法使用 geotools 从 PostGis 查询类型为双精度 [] 的 table

Can not query table with type double precision[] from PostGis with geotools

在 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 中没有针对该类型数据的映射器。你可能想为它提供一个补丁,应该不会太难。

西蒙娜。