Как стать автором
Обновить

Комментарии 12

мало у вас типов и картинка старая
Картинку типов геометрии заменил. Но, вроде, не все они реализованы в Hibernate
Неплохо было бы дополнить статью о том, как добавлять типы данных геометрии в базу данных PostgreSQL. :)
Это у меня сделано. Я создал свою таблицу с полем Geometry. В Java API имеется класс Entity с полем Point. И hibernate отказывается добавлять данное в поле в БД. Ошибка: Caused by: org.postgresql.util.PSQLException: ОШИБКА: Invalid endian flag value encountered. Диалект хибернейта установлен постгисовский, SRID устанавливаю такой же, как и в БД. Магия в общем))
а)пробовал — не помогло))
б) application.properties
1. есть вероятность, что настройка на применяетса. Создайте полноценный бин DataSource (Hikari, DriverManaged ...) и укажите в нем все нужные параметры.
(в понедельник скину свое)
2. Проверьте класс Point — может не тот :)
3. Я проверю, потому что сам не писал в БД.
Попробую, спасибо!)
Если вы про «ввести новые типы данных», то я не знаю.
А данные в базу мы заливаем или специальной прогой експорта их .shp,
или что угодно из QGIS (там же можно сразу создать индекс).
Ну а если чисто из Java — создаешь объект, указываешь SRID, сохраняешь :)
Докладываю, точки добавляются. И скопированные из базы, и созданные ручками.
Условный конфиг:
@Bean
    public DataSource dataSource() {
        
        HikariDataSource dataSource = DataSourceBuilder.create().type(HikariDataSource.class).build();
dataSource.setDataSourceClassName("org.postgresql.ds.PGSimpleDataSource");

        dataSource.addDataSourceProperty("url", "jdbc:postgresql://...");
        dataSource.setUsername("");
        dataSource.setPassword("");
        dataSource.addDataSourceProperty("ssl", "true"); 
        dataSource.addDataSourceProperty("sslfactory", "org.postgresql.ssl.NonValidatingFactory");

        return dataSource;
    }
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории