如何使用休眠注释将日期字符串转换为 yyyyMM 格式的日期
How Can I convert Date String as format yyyy-MM to Date with hibernate annoation
当我尝试在属性顶部使用 @DateTimeFormat(patter="yyyy-MM")
时,
ERROR: org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Bad format
for DATE '2015-05'
我该怎么做才能解决这个问题?
在我测试时,格式舔 "yyyy-MMM"、"yyyy-MM-dd" 一切正常。 @DateTimeFormat 不支持 "yyyy-MM" 格式。然后,为了四处走动,我需要 getter 和 setter
中的 attributeConverter 或 wave magic
也许你可以使用更合适的 Java 类型,
喜欢 org.joda.time.YearMonth (Joda Time 2.0) or java.time.YearMonth (Java 8)。
例如,YearMonth.now()
给出“2015-09”。
那么您需要一个从 String 到 YearMonth 的转换器。
借助 Hibernate,您可以在您的实体上使用 :
@org.hibernate.annotations.Type(type = "MyConverter")
private YearMonth yearMonth;
使用 JPA 2.1 :
@javax.persistence.Convert(converter = MyConverter.class)
private YearMonth yearMonth;
当我尝试在属性顶部使用 @DateTimeFormat(patter="yyyy-MM")
时,
ERROR: org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Bad format for DATE '2015-05'
我该怎么做才能解决这个问题?
在我测试时,格式舔 "yyyy-MMM"、"yyyy-MM-dd" 一切正常。 @DateTimeFormat 不支持 "yyyy-MM" 格式。然后,为了四处走动,我需要 getter 和 setter
中的 attributeConverter 或 wave magic也许你可以使用更合适的 Java 类型,
喜欢 org.joda.time.YearMonth (Joda Time 2.0) or java.time.YearMonth (Java 8)。
例如,YearMonth.now()
给出“2015-09”。
那么您需要一个从 String 到 YearMonth 的转换器。
借助 Hibernate,您可以在您的实体上使用 :
@org.hibernate.annotations.Type(type = "MyConverter")
private YearMonth yearMonth;
使用 JPA 2.1 :
@javax.persistence.Convert(converter = MyConverter.class)
private YearMonth yearMonth;