Hibernate Spatial PostGIS 1.1.1映射到视图而不是表

时间:2018-04-25 13:35:05

标签: geoserver postgresql-9.6 hibernate-spatial

GeoFence启动时,它声明无法找到关系geofence.gf_gfuser我的架构名称是地理位置。

我正在使用 SQL视图而不是表格This post指出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

1 个答案:

答案 0 :(得分:0)

我最终使用Foreign Data Wrapper PostgreSQL插件连接到视图。

由于FDW连接到数据库并引用表/视图并创建外表,因此将GeoFence链接到那些表而不是使用表将其欺骗到的表。

注意:我的外部表和视图是在单独的模式中,但在同一个数据库中。