Я пытаюсь выполнить базовое соединение между локальной базой данных postgresql из очень простого SpringBootProject (в целях обучения).
# configure postgresql
spring.datasource.platform=postgres
spring.datasource.jdbc-url=jdbc:postgresql://localhost:5432/db
spring.datasource.username=postgres
spring.datasource.password=
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.database-platform = org.hibernate.dialect.PostgreSQL94Dialect
spring.jpa.hibernate.ddl-auto=none
Пока мне удалось его скомпилировать и запустить ... но когда я пытаюсь получить доступ к своей БД, я получаю ошибку «Таблица« ФИЛЬМЫ «не найдены» »(org.h2.jdbc.JdbcSQLException). Когда я вставляю данные из data.sql, я получаю вставленные фильмы. Но без этого инициализатора я не могу получить данные из своей базы данных ...
Table "FILMS" not found; SQL statement:
select film0_.code as code1_0_, film0_.date_prod as date_pro2_0_, film0_.did as did3_0_, film0_.kind as kind4_0_, film0_.title as title5_0_ from films film0_ [42102-197]
2018-07-26 12:24:18.151 ERROR 10376 --- [nio-9000-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: could not prepare statement; SQL [select film0_.code as code1_0_, film0_.date_prod as date_pro2_0_, film0_.did as did3_0_, film0_.kind as kind4_0_, film0_.title as title5_0_ from films film0_]; nested exception is org.hibernate.exception.SQLGrammarException: could not prepare statement] with root cause
org.h2.jdbc.JdbcSQLException: Table "FILMS" non trouvée
Spring boot находится в версии 2.03 RELEASE; оба соединителя postgresql И серверные - 9.4. Я использую родительский стартер весенней загрузки, а также data-jpa-starter (без дополнительных зависимостей hibernate / jpa).
Исходный код - здесь
Мой сервер postresql запущен, база данных "db" существует, а ее таблица общедоступна. "FILMS" заполнена данными ...
Есть идеи, что я делаю (или не понимаю) неправильно?
Отлично: вы указали на мою ошибку. Я удалил h2 db из pom, затем получил еще одну ошибку ... Поэтому я исправил свойства url на ".url" вместо "jdbc-url", и вот оно! Обновил источники: github.com/RogerLapin/pocProm/commit/…. Пожалуйста, подумайте о добавлении этого в качестве ответа, чтобы я мог его принять





В вашем файле свойств приложения попробуйте
spring.jpa.hibernate.ddl-auto=validate
Он попытается проверить таблицу в вашей базе данных
В конечном итоге дело было не в модели, а в способе доступа к ней!
Сообщение об ошибке ясно показывает, что вы используете H2, а не Postgres, но вы добавили тег
postgresql. Итак, какую СУБД вы действительно используете? Если вы планируете использовать Postgres, то ваш уровень обфускации (также известный как «ORM») подключается не к той базе данных.