Таблица не найдена при подключении postresql из Spring Boot 2

Я пытаюсь выполнить базовое соединение между локальной базой данных 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, а не Postgres, но вы добавили тег postgresql. Итак, какую СУБД вы действительно используете? Если вы планируете использовать Postgres, то ваш уровень обфускации (также известный как «ORM») подключается не к той базе данных.

a_horse_with_no_name 26.07.2018 13:30

Отлично: вы указали на мою ошибку. Я удалил h2 db из pom, затем получил еще одну ошибку ... Поэтому я исправил свойства url на ".url" вместо "jdbc-url", и вот оно! Обновил источники: github.com/RogerLapin/pocProm/commit/…. Пожалуйста, подумайте о добавлении этого в качестве ответа, чтобы я мог его принять

Marvin 26.07.2018 14:26
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
507
1

Ответы 1

В вашем файле свойств приложения попробуйте spring.jpa.hibernate.ddl-auto=validate

Он попытается проверить таблицу в вашей базе данных

В конечном итоге дело было не в модели, а в способе доступа к ней!

Marvin 26.07.2018 14:27

Другие вопросы по теме