spring.jpa.hibernate.ddl-auto = нет проблем - PullRequest
0 голосов
/ 11 июля 2020

введите здесь описание изображения

Я использую схему. sql и данные. sql для вставки данных в базу данных h2.

каждый раз, когда я запустите приложение, мне нужно вручную запустить команду вставки в консоли h2, чтобы вставить данные. У меня есть одна ссылка на регистрационную форму на главной странице для "кандидата". Я заполняю данные в форме и данные добавляются в базу данных. В данном случае он работает нормально.

Но я хочу предварительно заполнить данные. поэтому я использовал

spring.jpa.hibernate.ddl-auto = none, теперь данные в data. sql заполняются предварительно, но когда я заполняю данные в регистрационной форме после отправки данных, я получаю ошибка.

не удалось подготовить выписку; SQL [выберите employee0_.email как адрес электронной почты1_0_0_, employee0_.first_name как first_na2_0_0_, employee0_.last_name как last_nam3_0_0_, employee0_.password как пароль4_0_0_, employee0_.role как роль5_0_0_ от employee0_email = где? вложенное исключение - org.hibernate.exception.SQLGrammarException: не удалось подготовить оператор

ссылка на gitlab:

https://gitlab.com/DipronilDey/Assessment

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 11 июля 2020

По умолчанию Spring Boot использует SpringPhysicalNamingStrategy, генерирует «first_name» в качестве имени столбца.

Вы хотите «firstName», поэтому вам нужно установить физическое именование -стратегия явно:

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl

ссылка:

...