gpt4 book ai didi

spring - Jadira 用户类型时区

转载 作者:行者123 更新时间:2023-12-02 04:13:48 26 4
gpt4 key购买 nike

我在我的项目中使用jadira usertype + joda time。我正在使用 hibernate + Spring 。我的 bean pojo 使用 spring 注释作为 @CreatedDate 和 org.springframework.data.jpa.domain.support.AuditingEntityListener ,在保存 bean 时自动设置 bean 的创建日期。我位于欧洲/罗马时区,但不幸的是,在数据库中,日期存储为 UTC,相反,当我在客户端(javafx)上显示该值时,日期会显示在正确的时区中。

如何将数据存储在正确时区的数据库中?

非常感谢。

最佳答案

您需要设置属性“jadira.usertype.databaseZone”。

将其设置为显式时区,或“jvm”以使用 JVM 的默认时区。

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
p:jpaProperties-ref="jpaProps" />

<util:properties id="jpaProps">
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="jadira.usertype.autoRegisterUserTypes">true</prop>
<!-- defaults to storing UTC dates in DB otherwise -->
<prop key="jadira.usertype.databaseZone">jvm</prop>
<prop key="jadira.usertype.javaZone">jvm</prop>
</util:properties>

关于spring - Jadira 用户类型时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15544710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com