我有一个应用程序,其中包含一些使用 LocalDate/LocalDateTime 字段的 JPA 类,并且这些字段作为 Bytea 映射到 PostgreSQL 列。
这种方法最大的问题是我无法使用 SQL 进行查询,例如,我无法查询以下内容:SELECT * FROM star_date BETWEEN '2020-01-01' AND '2020-01-02' ,因为DateTime和日期列使用Bytea类型。
下面有一个类的示例,显示了我当前的问题场景!该类使用 JPA 在 PostgreSQL 中生成表,因此它会自动发生。看看创建的fiend的类和表的设计。
@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;
}
有人遇到过这样的问题吗?
最佳答案
我正在使用 Spring Boot 1.4.7.RELEASE!因此,解决我的问题,包括将属性 columnDefinition 和 @Convert 包含到 Column 中,如下所示:
@Column(nullable = false, updatable = false, columnDefinition = "TIMESTAMP")
@Convert(converter = LocalDateTimeConverter.class)
private LocalDateTime created;
现在,我正在寻找一种将 bytea 转换为 postgresql 中当前表的方法。
关于java - PostgreSQL 列中映射的 Java LocalDate/LocalDateTime 字段的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59868098/