Проблема с Java LocalDate / LocalDateTime полями, сопоставленными в PostgreSQL столбцах - PullRequest
0 голосов
/ 22 января 2020

У меня есть приложение, которое содержит несколько классов JPA, использующих поля LocalDate / LocalDateTime, и эти поля отображаются в столбцы PostgreSQL как Bytea.

Самая большая проблема с этим подходом состоит в том, что я не могу делать запросы с SQL, например, я не могу запросить это: SELECT * FROM star_date МЕЖДУ '2020-01-01' И '2020 -01-02 ', потому что столбцы DateTime и date используют тип Bytea.

Ниже приведен пример класса, который показывает мою текущую проблемную картину! Этот класс использует JPA для генерации таблицы в PostgreSQL, поэтому это происходит автоматически. Посмотрите на созданного злодея в классе и дизайне таблицы.

@Data
@Entity
@Table(name = "processes")
public class Process implements Serializable {
    @Id
    @GeneratedValue(generator = "ProcessSequenceGenerator")
    private Long id;
    private Long legacyId;
    private String createdBy;
    private LocalDateTime created;
}

Дизайн таблицы: enter image description here

У кого-нибудь когда-нибудь возникала такая проблема?

1 Ответ

0 голосов
/ 28 января 2020

Я использую Spring Boot 1.4.7.RELEASE! Так что исправьте мою проблему, включив в Column свойство columnDefinition и @Convert, как показано ниже:

@Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP")
@Convert(converter = LocalDateTimeConverter.class)
private LocalDateTime created;

Прямо сейчас я ищу способ конвертировать bytea в мой текущая таблица в postgresql.

...