Запишите в базу данных поле LocalDate в определенном формате - PullRequest
0 голосов
/ 04 мая 2018

У меня проблемы с записью Entity, который включает в себя LocalDate поля для Postgresql в формате "dd-MM-yyyy"

Моя сущность выглядит следующим образом.

@Entity
public class DataUpload {

  @Id
  @NonNull
  @GeneratedValue(strategy = GenerationType.AUTO)
  private Long id;

  @NonNull
  @Column(nullable = false)
  private final String clinic;

  @NonNull
  @Column(nullable = false)
  @DateTimeFormat(pattern = "dd-MM-yyyy")
  private final LocalDate startDate;

  @NonNull
  @Column(nullable = false)
  @DateTimeFormat(pattern = "dd-MM-yyyy")
  private final LocalDate endDate;

  @NonNull
  @Column(nullable = false)
  private final long numRows;

  @NonNull
  @Column(nullable = false)
  @DateTimeFormat(pattern = "dd-MM-yyyy")
  private final LocalDate dateUploaded;

  @NonNull
  @Column(nullable = false)
  private final boolean processed;

  public DataUpload() {
    clinic = "SuperDuperClinic";
    startDate = LocalDate.of(2017, Month.JULY, 5);
    endDate = LocalDate.of(2018, Month.JULY, 5);
    numRows = 500;
    dateUploaded = LocalDate.now();
    processed = true;
  }
//getters setters
}

Кажется, что @DateTimeFormat Аннотация не действует, так как заполненные столбцы в базе данных выглядят так. wrong date format

Как отформатировать LocalDate объект для конкретного шаблона, чтобы он мог сохраняться в базе данных именно так, как я хочу?

1 Ответ

0 голосов
/ 05 мая 2018

Я считаю, что @DateTimeFormat не влияет на представление даты ни в одной СУБД. Согласно пружинной документации :

@ DateTimeFormat объявляет, что поле или параметр метода должны быть отформатированы как дата или время

Таким образом, это означает, что эта аннотация позволяет вам на лету форматировать значения даты для веб-вывода, например @JsonSerialize из Jackson framework. Появление ваших дат в менеджере СУБД зависит только от настроек в менеджере БД, причем любые даты в базе данных сохраняются в виде десятичных значений, и каждый менеджер БД отображает их только по своим настройкам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...