Ich habe eine Spring Boot-Anwendung (Spring Boot Version 4.0.1).
Es gibt eine einfache DDL:
Code: Select all
create table foo (
id serial not null primary key,
dt timestamptz not null
);
Code: Select all
@Getter
@Setter
@Entity
public class Foo {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private OffsetDateTime dt;
public Foo() {}
public Foo(OffsetDateTime dt) {
this.dt = dt;
}
}
Code: Select all
@GetMapping
public List getAll() {
return repository.findAll();
}
Ich habe versucht, ?serverTimezone in einer JDBC-Verbindungs-URL zu verwenden, -Duser.timezone festzulegen und die explizit festgelegte Zeitzone in Postgres zu verwenden (unter Verwendung von Docker und den Umgebungsvariablen TZ und PGTZ). Aber nichts.
Wahrscheinlich verstehe ich falsch, wie es funktionieren soll. Ich habe erwartet, dass die von der Datenbank zurückgegebenen Datums- und Uhrzeitangaben in einer Zeitzone liegen, die vom Client des JDBC-Treibers (in diesem Fall JVM) angegeben wird.
Mobile version