Сопоставление 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

person Werner    schedule 25.04.2018    source источник


Ответы (1)


В итоге я использовал плагин Foreign Data Wrapper PostgreSQL для подключения к представлениям.

Поскольку FDW подключается к базе данных и ссылается на таблицу/представление и создает внешнюю таблицу, привязка GeoFence к этим таблицам вместо представлений заставляла его использовать таблицы.

Примечание. Мои внешние таблицы и представления находятся в разных схемах, но в одной базе данных.

person Werner    schedule 15.06.2018