Создавайте поля в заголовках с помощью JPA / Spring Boot на Postgres - PullRequest
0 голосов
/ 14 мая 2019

У меня есть такой POJO (Groovy)

class User {
  @Column(name = 'Username')
  String username
  @Column(name = 'EmailAddress')
  String emailAddress
}

Ничто из того, что я делаю, не заставляет JPA генерировать такую ​​схему:

create table User (
  Username varchar(64),
  EmailAddress varchar(64)
)

Я получаю username varchar и email_address varchar. Какой параметр конфигурации можно установить, чтобы это исправить?

Ответы [ 2 ]

2 голосов
/ 14 мая 2019

В PostgreSQL имена без кавычек нечувствительны к регистру. Таким образом, имя пользователя и имя пользователя совпадают.

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

Но я бы порекомендовал никогда не использовать регистрозависимое имя.

О длине, которой прав YCF_L, в аннотации @Column отсутствует параметр длины.

@Column(name = 'Username', length = 64)
0 голосов
/ 14 мая 2019

Вам нужно будет использовать postGresql Dialect, чтобы использовать имена таблиц с учетом регистра, обновить / добавить диалект в PostgreSQLDialect или PostgreSQL82Dialect

изменить ваши application.properties для использования,

spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...