if (f.getType() == Time.class) {
val = val==null?null:new Time((java.util.Date)val);
} else if (f.getType() == double.class) {
val = val==null?0.0:((BigDecimal)val).doubleValue();
} else if (f.getType() == Money.class) {
val = val==null?null:new Money((Integer)val);
} else if (f.getType() == boolean.class) {
val = val==null?false:val;
} else if (hasInterface(f.getType(),EnumType.class)) {
if (val != null) {
val = Proxy.staticCall(f.getType(), "map",(Integer)val);