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
1 ответ
Я закончил тем, что использовал Foreign Data Wrapper
Плагин PostgreSQL для подключения к представлениям.
Поскольку FDW подключается к базе данных и ссылается на таблицу / представление и создает внешнюю таблицу, связывание GeoFence с этими таблицами вместо представлений вводит их в заблуждение использованием таблиц.
Примечание. Мои внешние таблицы и представления находятся в отдельных схемах, но в одной базе данных.