我正在使用 Wildfly Swarm (2017.11.0) 构建一个应用程序,它要求ZonedDateTime
对象以 UTC 格式保存。
目前,我正在使用 ExamplesDS JTA 数据源并配置以下属性:
<property name="hibernate.jdbc.time_zone" value="UTC"/>
由于 Swarm JPA 依赖项将 Hibernate 5.0.x 和 JPA 2.1 声明为依赖项,因此我手动包含
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.2.12.Final</version>
</dependency>
和
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>javax.persistence-api</artifactId>
<version>2.2</version>
</dependency>
并将它们设置为未提供。
但是,Hibernate 完全忽略了该属性,它保留并获取时间戳作为ZonedDateTime
本地区域。persistence.xml 中的其他属性被正确识别。
目前,我不确定问题出在哪里以及如何解决。此外,当我使用 jvm 参数运行 Wildfly Swarm 时-Duser.timezone=UTC
,没有任何变化。这可能是 ExamplesDS 的问题还是 Wildfly Swarm 忽略了我的依赖声明?如果是这样,我如何确保 Swarm 使用正确的版本?