如果我创建一个 Java
LocalDate
对象(例如:“2023-09-28”)并将其保存到我的 Postgres 数据库,前一天就会被存储(例如:“2023-09-27”)。
这是我的代码(micronaut):
@MappedEntity("event")
data class Event(
@field:Id val id: UUID,
val date: LocalDate // <===
)
@JdbcRepository(dialect = Dialect.POSTGRES)
interface EventRepository: CrudRepository<Event, UUID> {}
这是我保存它的方法:
val date = LocalDate.parse("2023-09-28", DateTimeFormatter.ISO_LOCAL_DATE)
val newEvent = Event(id, date)
repo.save(newEvent)
日志显示正在发送的正确值:
DEBUG io.micronaut.data.query - Executing SQL query: INSERT INTO "event" ("date","id") VALUES (?,?)
TRACE io.micronaut.data.query - Binding parameter at position 1 to value 2023-09-28 with data type: DATE
我正在使用这个驱动程序:
"org.postgresql:postgresql"
我的postges表使用列类型
date
:
create table event
(
id uuid not null,
date date not null
);
我这里有一个最小的可重现示例:
我想可能和这个有关?