Implemented and Instant-to-Date converter
[jpa-converters] / src / main / java / de / juplo / jpa / converters / InstantConverter.java
1 package de.juplo.jpa.converters;
2
3 import java.time.Instant;
4 import java.util.Date;
5 import javax.persistence.AttributeConverter;
6 import javax.persistence.Converter;
7
8
9 /**
10  * Converts an {@link Instant} to a {@link Date}, as suggested in
11  * the official Java 8 Time tutorial.
12  * <p>
13  * The {@link Date} can then be persisted as
14  * {@link java.persistene.TemporalType.TIMESTAMP} with the help of the
15  * {@link java.persist.Tmporal}-annotation.
16  * @see https://docs.oracle.com/javase/tutorial/datetime/iso/legacy.html
17  * @author Kai Moritz
18  */
19 @Converter(autoApply = true)
20 public class InstantConverter implements AttributeConverter<Instant, Date>
21 {
22   @Override
23   public Date convertToDatabaseColumn(Instant instant)
24   {
25     return Date.from(instant);
26   }
27
28   @Override
29   public Instant convertToEntityAttribute(Date date)
30   {
31     return date.toInstant();
32   }
33 }