Я получаю следующую ошибку при сохранении поля LocalDate [Использование типа VARCHAR (20) в столбце]:
Value too long for column "BIRTH_DATE VARCHAR(20)":"'aced00057372000d6a6176612e74696d652e536572955d84ba1b2248b20c00007870770703000007e2060c78' (88)";
Определение поля выглядит следующим образом:
@Column(name = "BIRTH_DATE")
private LocalDate date;
@Column(name = "BIRTH_TIME")
private LocalTime time;
Я использую стартер данных весны (1.5.9.RELEASE).Для внутреннего использования используется Hibernate 5.0.12.
Согласно сообщению в блоге https://www.thoughts -on-java.org / hibernate-5-date-and-time /
Hibernate 5, поддерживает функции Java 8 (DateTime API) из коробки.Итак, почему эта ошибка идет.
Я проверил, и во время выполнения создается действительный объект LocalDate.Но ошибка выдается при сохранении.Вот снимок экрана отладки непосредственно перед вызовом save()
Ошибка изменится на следующее, если я изменю тип столбца на DATE:
java.lang.IllegalArgumentException: aced00057372000d6a6176612e74696d652e536572955d84ba1b2248b20c00007870770703000007e2060c78
at org.h2.util.DateTimeUtils.parseDateValue(DateTimeUtils.java:313) ~[h2-1.4.196.jar:1.4.196]