Ich migriere ein Legacy -Projekt in Spring Boot 3 und Hibernate 6.5.3
Code: Select all
@Data
@Entity
@SuperBuilder(toBuilder = true)
@AllArgsConstructor
@NoArgsConstructor
public class TestEnity {
@NonNull
private UUID id;
@NonNull
private Instant createDate;
}
< /code>
Datensatz von entityManager (in meinem TimeZone jetzt 12 Uhr, UTC+02: 00) mit Eigenschaft Spring.jpa.properties.hiberNate.type.Preferred_instant_jdbc_type = Timestamp: < /p>
id | create_date
----------------------------------------------------------------------
3ceca36e-710f-4ea3-223b-1118b0796c7f | 2025-04-10 12:20:30.510548
3ceca36e-710f-4ea3-223b-2228b0796c7f | 2025-04-09 12:20:30.510548
3ceca36e-710f-4ea3-223b-3338b0796c7f | 2025-04-08 12:20:30.510548
< /code>
und ich verwende QueryDSL für GET -Datensätze: < /p>
SQLQueryFactory sqlQueryFactory = new SQLQueryFactory(GenaratorQsqlUtils.createConfiguration(), dataSource);
BooleanBuilder booleanBuilder = new BooleanBuilder();
booleanBuilder.and(getDateFrom(instantFrom));
booleanBuilder.and(getDateTo(instantTo));
long count = sqlQueryFactory.select()
.from(testE)
.where(booleanBuilder) //createDate >= 2025-04-09T12:19:58Z && createDate
Vielleicht ist mein Ansatz mit dem Parameter im Allgemeinen falsch und ich muss etwas anderes verwenden? Oder wie man auch hibernate so konfigurieren, dass es keine implizite Umwandlung von Daten aus der Datenbank in das UTC -Format durchführt?