【问题标题】:Use Geography PostGIS function with H2GIS将地理 PostGIS 功能与 H2GIS 结合使用
【发布时间】:2020-12-21 15:32:43
【问题描述】:

我有这个功能,我得到一个休眠空间几何类型,并在 中缓冲它


entityManager
.createNativeQuery(“SELECT ST_BUFFER(GEOGRAPHY(:geometry), :margin, ‘join=mitre’) AS BUFFERED_GEOMETRY”)
.setParameter(“geometry”, geometry)
.setParameter(“margin”, margin)
.unwrap(NativeQuery.class)
.addScalar(“ BUFFERED_GEOMETRY”, new JTSGeometryType(PGGeometryTypeDescriptor.INSTANCE))
.getSingleResult();

此代码在我使用 postGIS 时运行良好,但当我在测试中使用 h2GIS 时出现 sql 错误

Function “GEOGRAPHY” not found

我确实看到 H2GISFunctions.class 中不存在这个函数和其他一些函数。有没有解决的办法?除了在我的测试中使用 Postgres 吗?

【问题讨论】:

    标签: spring hibernate h2 postgis hibernate-spatial


    【解决方案1】:

    我不知道 H2GIS,但是如果您避免大多数 DDL 并使用 TRUNCATE 在测试之间清除数据,那么 PostgreSQL 几乎和 H2 一样快,那么您为什么不想针对您也使用的数据库进行测试在生产中?

    【讨论】:

    • 这个测试是更大的测试模块的一部分,它已经在使用 h2,我真的不想重构或影响所有其他测试
    • 那我没有给你答案。不过,您可以尝试自己实现这些 H2 功能。不知道实现一个GEOGRAPHY函数有多难,但是既然可以在H2中使用Java实现函数,应该不会太难。
    猜你喜欢
    • 2020-09-30
    • 2021-06-07
    • 1970-01-01
    • 2017-10-13
    • 1970-01-01
    • 2011-07-16
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    相关资源
    最近更新 更多