我必须在hibernate pojo中映射一列。我遇到的问题是我要使用的列是VARCHAR2(6 CHAR)
,但它是一个日期字符串,格式为mmYYYY
。我想把它映射成日期。
我一直在寻找各种资源,而且我已经尝试了很多东西。
@Column(name = "EXP_DATE")
@DateTimeFormat(pattern = "mmYYYY")
@Temporal(TemporalType.DATE)
private Date expiration;
然而,@DateTimeFormat
注释似乎与我想做的事情似乎并不相似。它没有读取我提供的格式,并在尝试将字符串解析为日期时抛出异常
java.lang.IllegalArgumentException
at java.sql.Date.valueOf(Date.java:143)
更新: 我必须注意,我实际上无法修改任何XML配置,因此必须使用注释完成。它不太理想,但这是我目前的情况。
更新: 深入研究@DateTimeFormat注释,我得到了错误的大小写。我应该一直在使用" MMyyyy",进一步继续它似乎格式化程序不会接受任何不包括当天的格式。现在,我将把它映射到一个字符串,除非有人回复一个有效的解决方案。
感谢所有参与者。