在使用jadira-usertype org.jadira.usertype.dateandtime.threeten.PersistentLocalDateTimeAsString
作为Type时的hibernate模型中,转换是不可逆的。
@Column(name="requested_start")
@Type(type="org.jadira.usertype.dateandtime.threeten.PersistentLocalDateTimeAsString")
private LocalDateTime requestedStartDate;
使用以下格式创建具有日期时间的对象时;
myObject.setRequestedStartDate(LocalDateTime.parse("2014-12-28T19:30:00"));
作为“2014-12-28T19:30”存储在DB(MariaDB)中,忽略秒部分(不知道为什么)。
查询数据时,我收到以下异常
java.time.format.DateTimeParseException: Text '2014-12-28T19:30' could not be parsed at index 16
但是,如果我将日期设置为“2014-12-28T19:30:01”并将秒设置为“01”,则表示正常。
我也试过设置springframework的DateTimeFormat,仍然面临同样的异常。
@Column(name="requested_start")
@Type(type="org.jadira.usertype.dateandtime.threeten.PersistentLocalDateTimeAsString")
@DateTimeFormat(pattern="yyyy-MM-dd'T'HH:mm:ss")
private LocalDateTime requestedStartDate;
答案 0 :(得分:0)
您可以尝试这种修改过的模式" yyyy-MM-dd' HH:mm [:ss]"。
方括号的含义表示解析过程中的可选部分 - 请参阅javadoc。