Open GoogleCodeExporter opened 9 years ago
You can use a custom converter for java.sql.Date. To do this simply annotate
your entity class with @Converters({MyDateConverter.class})
I wrote two Date converters for you, the first one stores the date as a long
value, the second one as a java.util.Date value. Take the one which fits your
need.
-- Date as Long
public final class DateConverter extends TypeConverter implements
SimpleValueConverter {
public DateConverter() {
super(Date.class);
}
@Override
public Object encode(Object value, MappedField optionalExtraInfo) {
return ((Date)value).getTime();
}
@Override
public Object decode(Class targetClass, Object fromDBObject, MappedField optionalExtraInfo)
throws MappingException {
if (fromDBObject == null) {
return null;
}
return new Date((Long) fromDBObject);
}
}
-- Date as java.util.Date
public final class DateConverter extends TypeConverter implements
SimpleValueConverter {
public DateConverter() {
super(Date.class);
}
@Override
public Object encode(Object value, MappedField optionalExtraInfo) {
return new java.util.Date(((Date)value).getTime());
}
@Override
public Object decode(Class targetClass, Object fromDBObject, MappedField optionalExtraInfo) throws MappingException {
if (fromDBObject == null) {
return null;
}
return new Date(((java.util.Date)fromDBObject).getTime());
}
}
Original comment by sebastia...@otto.de
on 9 Jul 2012 at 8:42
[deleted comment]
Can you put the imports for those types and give an example of how to use
@Converters?
Original comment by kall.pi...@gmail.com
on 12 Jul 2013 at 2:34
Original issue reported on code.google.com by
baowe...@gmail.com
on 25 May 2012 at 7:29