ZonedDateTime
UTC でオブジェクトを永続化する必要がある Wildfly Swarm (2017.11.0) を使用してアプリケーションを構築しています。
現在、私は 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 によって完全に無視されます。Hibernate は、タイムスタンプをZonedDateTime
with ローカル ゾーンとして保持およびフェッチします。persistence.xml 内の他のプロパティは正しく認識されます。
現時点では、問題の場所と解決方法がわかりません。また、jvm 引数を指定して Wildfly Swarm を実行して-Duser.timezone=UTC
も、何も変わりません。これはおそらく ExamplesDS の問題ですか、それとも Wildfly Swarm が依存関係の宣言を無視しているのでしょうか? その場合、Swarm が正しいバージョンを使用していることを確認するにはどうすればよいですか?