time

Title Summary

Hibernate時區設定

spring hibernate time

需要應付不同時區時,資料庫儲存UTC+0的時間,頁面動態決定要顯示的時區。但從資料庫取出的java.util.Date會自動設定為環境預設時區 方案1 修改JVM預設時區: java -Duser.timezone=UTC -jar project.jar 或是 @SpringBootApplication public class Application { @PostConstruct void started() { TimeZone.setDefault(TimeZone.getTimeZone("UTC")); } public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 方案2 用Hibernate的話可以設定JDBC時區 spring.jpa.properties.hibernate.jdbc.time_zone = UTC 參考資料 https://moelholm.com/2016/11/09/spring-boot-controlling-timezones-with-hibernate/