geoserver - Hibernate Spatial PostGIS 1.1.1 映射到视图而不是表
问题描述
在GeoFence启动时,它指出它找不到关系geofence.gf_gfuser
。
我的架构名称是地理围栏。
我使用的是SQL 视图而不是表。这篇文章指出,Hibernate 从视图中读取不会有问题。那么为什么会出现这个错误呢?
任何见解将不胜感激。
堆栈跟踪:
Caused by: org.postgresql.util.PSQLException: ERROR: relation "geofence.gf_gfuser" does not exist
附加配置
geofence-datasource-ovr.properties
geofenceVendorAdapter.databasePlatform=org.hibernatespatial.postgis.PostgisDialect
geofenceDataSource.driverClassName=org.postgresql.Driver
geofenceDataSource.url=jdbc:postgresql://<host>:<port>/<db>
geofenceDataSource.username=<username>
geofenceDataSource.password=<password>
geofenceEntityManagerFactory.jpaPropertyMap[hibernate.default_schema]=<schema>
geofenceEntityManagerFactory.jpaPropertyMap[hibernate.hbm2ddl.auto]=none
geofenceEntityManagerFactory.jpaPropertyMap[javax.persistence.validation.mode]=none
geofenceEntityManagerFactory.jpaPropertyMap[hibernate.validator.apply_to_ddl]=false
geofenceEntityManagerFactory.jpaPropertyMap[hibernate.validator.autoregister_listeners]=false
解决方案
我最终使用Foreign Data Wrapper
PostgreSQL 插件连接到视图。
由于 FDW 连接到数据库并引用表/视图并创建外部表,因此将 GeoFence 链接到这些表而不是视图会欺骗它使用表。
注意:我的外部表和视图在不同的模式中,但在同一个数据库中。
推荐阅读
- amazon-web-services - 将保留策略添加到发布到 CloudWatch 的 API Gateway 日志
- spring-cloud-stream - Spring Cloud 数据流 | 卡夫卡粘合剂 | 错误:KafkaTopicProvisioner - 无法创建主题
- angular - 如何使用带有 ionic4 和电容器的第三方 javascript 库?
- couchbase - cbrestore 5.1 可以恢复 cbbackup 6.0 的备份吗?
- excel - ListBox 不返回结果
- python - Django Rest框架中多对多中间模型的接近方式
- angular - 使用 immer.js - 重新分配草稿数组引用会导致状态中的相同数组引用
- python - 将两个字典相加,字母数字项除外
- sql - 在 prodecure 中按一个查询搜索
- kubernetes - 如果 Kubernetes 服务失败会发生什么?