#java #postgresql #hibernate #jpa #jackson
#java #postgresql #спящий режим #jpa #джексон
Вопрос:
У меня есть столбец jsonb в таблице postgres. Соответствующее поле сущности JPA является Java DTO со свойством LocalDate . Поле LocalDate сохраняется в postgres в виде того, что выглядит как список.
Сущность JAVA:
@Entity
@Table(name = "my_entity")
public class MyEntity
{
@EmbeddedId
private EmbeddedId embeddedId;
@Type(type = "jsonb")
@Column(name = "jsonb_column", columnDefinition = "jsonb", nullable = false)
private JavaDto javaDto;
}
JavaDto.java:
@Data
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class JavaDto
{
private LocalDate localDate;
private String type;
private String id;
}
Пример строки в my_table
таблице postgres:
id | 90
other_col | OTHER_COL_VAL
jsonb_column | {"id": "123-some-id", "type": "someType", "localDate": [2021, 10, 13]}
creation_time | 2020-11-02 15:44:42.134 05:30
last_modified_time | 2020-11-02 15:44:42.134 05:30
Формат, в котором сохраняется LocalDate, создает проблемы для выполнения запросов на чтение с предложением where .
Любая помощь будет оценена.
Я использую Hibernate в качестве реализации JPA.
Комментарии:
1. Есть ли у вас какой-либо зарегистрированный конвертер для типа: @Type(type = «jsonb») ?
2. Я не определил какой-либо конвертер явно.
3. Есть ли у вашего проекта
com.vladmihalcea:hibernate-types-52
зависимость?4. да, это может как-то помочь? Я этого не проверял.
5. только что проверено, идентификатор артефакта — hibernate-types-43 (не 52).