--- /dev/null
+package de.juplo.jpa.converters;
+
+import java.time.Instant;
+import java.util.Date;
+import javax.persistence.AttributeConverter;
+import javax.persistence.Converter;
+
+
+/**
+ * Converts an {@link Instant} to a {@link Date}, as suggested in
+ * the official Java 8 Time tutorial.
+ * <p>
+ * The {@link Date} 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 InstantConverter implements AttributeConverter<Instant, Date>
+{
+ @Override
+ public Date convertToDatabaseColumn(Instant instant)
+ {
+ return Date.from(instant);
+ }
+
+ @Override
+ public Instant convertToEntityAttribute(Date date)
+ {
+ return date.toInstant();
+ }
+}