X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fjpa%2Fconverters%2FOffsetDateTimeConverter.java;fp=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fjpa%2Fconverters%2FOffsetDateTimeConverter.java;h=d49da186e6dbb48fdab3c42e18f6f69697076e26;hb=a4526e622738d2360f2cd79407cfa3f8d406fa10;hp=0000000000000000000000000000000000000000;hpb=1c32d9ec8c9dd7b65bcfdd89d2b75d16609e299c;p=jpa-converters diff --git a/src/main/java/de/juplo/jpa/converters/OffsetDateTimeConverter.java b/src/main/java/de/juplo/jpa/converters/OffsetDateTimeConverter.java new file mode 100644 index 0000000..d49da18 --- /dev/null +++ b/src/main/java/de/juplo/jpa/converters/OffsetDateTimeConverter.java @@ -0,0 +1,35 @@ +package de.juplo.jpa.converters; + +import java.time.OffsetDateTime; +import java.time.ZonedDateTime; +import java.util.GregorianCalendar; +import javax.persistence.AttributeConverter; +import javax.persistence.Converter; + + +/** + * Converts a {@link OffsetDateTime} to a {@link GregorianCalendar}, by first + * converting it into a {@link ZonedDateTime} and then converting it as + * suggested in the official Java 8 Time tutorial. + *
+ * The {@link GregorianCalendar} can then be persisted as
+ * {@link java.persistene.TemporalType.TIMESTAMP} with the help of the
+ * {@link java.persist.Tmporal}-annotation.
+ * @see https://docs.oracle.com/javase/tutorial/datetime/iso/legacy.html
+ * @author Kai Moritz
+ */
+@Converter(autoApply = true)
+public class OffsetDateTimeConverter implements AttributeConverter