繁体   English   中英

如何使用休眠注释将日期字符串以yyyy-MM格式转换为日期

[英]How Can I convert Date String as format yyyy-MM to Date with hibernate annoation

当我尝试在属性顶部使用@DateTimeFormat(patter="yyyy-MM")时,

错误:org.hibernate.engine.jdbc.spi.SqlExceptionHelper-日期“ 2015-05”的格式错误

我该怎么做才能解决这个问题?

在我测试时,请点击“ yyyy-MMM”,“ yyyy-MM-dd”格式。 @DateTimeFormat不支持“ yyyy-MM”格式。 然后,为了解决问题,我需要在getter和setter中使用attributeConverter或wave magic

也许您可以使用更合适的Java类型,例如org.joda.time.YearMonth (Joda Time 2.0)或java.time.YearMonth (Java 8)。 例如, YearMonth.now()给出“ YearMonth.now() ”。

然后,您需要一个从String到YearMonth的转换器。

使用Hibernate可以在您的实体上使用:

@org.hibernate.annotations.Type(type = "MyConverter")
private YearMonth yearMonth;

使用JPA 2.1:

@javax.persistence.Convert(converter = MyConverter.class)
private YearMonth yearMonth;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM