Неверное имя столбца при запросе базы данных postgres из приложения весенней загрузки с использованием спящего режимаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Неверное имя столбца при запросе базы данных postgres из приложения весенней загрузки с использованием спящего режима

Сообщение Anonymous »

У меня есть простое приложение весенней загрузки, которое подключается к базе данных Postgres.
Это часть класса Photographer (сущность)

Код: Выделить всё

@Entity
@Table(name = "photographer", schema = "public")
@Data
@NoArgsConstructor
public class Photographer {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
private String additionalInfo;
private String location;
private String portfolio;
...
}
Вот как таблица создается в liquibase: Это интерфейс JpaRepository:

Код: Выделить всё

@Repository
public interface PhotographerRepository extends JpaRepository
 {
}
Когда я пытаюсь вызвать метод findAll(), я получаю следующую ошибку:

Код: Выделить всё

org.postgresql.util.PSQLException: ERROR: column p1_0.additionalinfo does not exist
Я проверил, фактическое имя столбца в базе данных — additinalInfo с заглавной буквой «I», но спящий режим пытается использовать имя столбца в нижнем регистре «additionalinfo»
Я пробовал устанавливать разные диалекты и стратегии, используя эти конфигурации:

Код: Выделить всё

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyJpaImpl
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
Что еще я могу попробовать? Я знаю, что обходным решением может быть изменение имен столбцов на змеиный регистр или добавление аннотации @Column, но я ищу способ заставить спящий режим построить правильный запрос с правильным именем столбца (тот же, что и имя свойства класса)
Изменить после комментария:
Решение из раздела «Как настроить Hibernate для создания имени таблицы/столбца прописными и строчными буквами» не решает мою проблему. В упомянутом случае проблема заключалась в преобразовании регистра змей в регистр верблюда (имя_примера в имя_примера). В моем случае у меня есть свойство в классе с именем extraInfo. В столбце то же имя. Когда hibernate создает запрос, он использует имя extrainfo. Итак, мой случай — преобразование имени примера в имя примера

Подробнее здесь: https://stackoverflow.com/questions/787 ... -app-using
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»