--- /dev/null
+package de.juplo.jpa.converters;
+
+import java.time.MonthDay;
+import javax.persistence.AttributeConverter;
+import javax.persistence.Converter;
+
+
+/**
+ * Converts a {@link MonthDay} into its {@link String} representation.
+ * @author Kai Moritz
+ */
+@Converter(autoApply = true)
+public class MonthDayConverter implements AttributeConverter<MonthDay, String>
+{
+ @Override
+ public String convertToDatabaseColumn(MonthDay monthday)
+ {
+ return monthday.toString();
+ }
+
+ @Override
+ public MonthDay convertToEntityAttribute(String string)
+ {
+ return MonthDay.parse(string);
+ }
+}
--- /dev/null
+package de.juplo.jpa.converters;
+
+import java.time.YearMonth;
+import javax.persistence.AttributeConverter;
+import javax.persistence.Converter;
+
+
+/**
+ * Converts a {@link YearMonth} into its {@link String} representation.
+ * @author Kai Moritz
+ */
+@Converter(autoApply = true)
+public class YearMonthConverter implements AttributeConverter<YearMonth, String>
+{
+ @Override
+ public String convertToDatabaseColumn(YearMonth yearmonth)
+ {
+ return yearmonth.toString();
+ }
+
+ @Override
+ public YearMonth convertToEntityAttribute(String string)
+ {
+ return YearMonth.parse(string);
+ }
+}
--- /dev/null
+package de.juplo.jpa.converters;
+
+import java.time.ZoneOffset;
+import javax.persistence.AttributeConverter;
+import javax.persistence.Converter;
+
+
+/**
+ * Converts a {@link ZoneOffset} into its {@link String} representation as ID.
+ * @author Kai Moritz
+ */
+@Converter(autoApply = true)
+public class ZoneOffsetConverter implements AttributeConverter<ZoneOffset, String>
+{
+ @Override
+ public String convertToDatabaseColumn(ZoneOffset offset)
+ {
+ return offset.getId();
+ }
+
+ @Override
+ public ZoneOffset convertToEntityAttribute(String string)
+ {
+ return ZoneOffset.of(string);
+ }
+}