Мне не удается установить часовой пояс CET для моего приложения JPA, которое использует AuditingEntityListener для увеличения дат создания / последнего изменения.
То, что я уже пробовал:
В моем приложении. Свойства (обе комбинации):
spring.jpa.properties.hibernate.jdbc.time_zone=UTC+1
spring.jpa.properties.hibernate.jdbc.time_zone=CET
Добавлен часовой пояс для моего соединения JDBC (обе комбинации)
spring.datasource.url=jdbc:mysql://host:3306/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC+1
spring.datasource.url=jdbc:mysql://host:3306/db?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=CET
Добавлена постконструктура (уровень приложения)
@PostConstruct
void started() {
TimeZone.setDefault(TimeZone.getTimeZone("UTC+1"));
}
А также попытался установить часовой пояс на уровне базы данных, используя:
SET time_zone='+01:00';
Безуспешно, я что-то упустил?
Использование @createdDate следующим образом:
EDIT
@Data
@Builder
@Entity
@EntityListeners(AuditingEntityListener.class)
@NoArgsConstructor
@AllArgsConstructor
public class OrderHistoryRecord {
@Id
@GeneratedValue
@JsonIgnore
private Long id;
@NotNull
@ManyToOne(fetch = FetchType.LAZY, targetEntity = Order.class)
@JoinColumn(name = "order_id", updatable = false)
@JsonIgnore
private Order order;
@CreatedDate
private Date date;
@Enumerated(EnumType.STRING)
private PaymentStatus paymentStatus;
@Enumerated(EnumType.STRING)
private ShipmentStatus shipmentStatus;
@Enumerated(EnumType.STRING)
private OrderHistoryRecordType type;
}