我想在playOrm映射中使用Date字段。但是,如果我使用
private Date birthDate;
在我的bean中,它给了我一个例外,说不支持这种类型。
答案 0 :(得分:1)
如果您打开问题,我可以添加日期。当人们使用Date来表示这一点时,我当时正在考虑实际抛出一个例外。
请使用joda-time中的LocalDate,LocalTime或LocalDateTime 应该在jdk7中加入,但很可能最终会被加入 jdk8。原因是java.util.Date和java中的Calendar 有bug,并且在jdk bug系统中有很多已知错误。
也可以看到这一点 Joda Time to be included in Java 7?
但是,如果您仍想使用日期,请按照
进行操作Map<Class, Converter> converters = new HashMap<Class, Converter>();
Converter d = new DateConverter();
converters.put(Date.class, d);
然后,您需要使用DateConverter类实现Converter接口,并将byte [] to Date和Date实现为byte []和String to Date和Date to String方法。注意:这些方法都被称为S-SQL和转换实体...它们都使用相同的转换器。
字符串转换非常重要,因为命令行工具将使用它们将命令行S-SQL转换为查询对象。
但是,如果你想将它内置到PlayOrm中,只需打开一个问题就可以很快完成。但我仍然建议你在joda-time中使用LocalDateTime,因为它更可靠,你可以用它做更多的事情....在使用joda-time之后,它与C#date apis相比,并且比旧java的东西更好。
迪安
答案 1 :(得分:0)
我不确定你要求的是什么,但正如Java API for Date中所述,“从JDK 1.1开始,应该使用Calendar
类来转换日期和时间字段以及DateFormat
类应该用于格式化和解析日期字符串。不推荐使用Date中的相应方法。“