推土机:列表的字符串到目前的字段级别映射
我想将DTO
(所有字符串数据类型)映射到VO
(包含String,int,boolean,Date)
StudentDTO
private StudentDetailDTO student;
StudentDetailDTO:
private String sid; private String name; private String createDt; private String studentInd; private List feeDetails;
FeeReceiptDTO:
private String semisterNum; private String feeAmount; private String paidOn;
StudentDetailVO:
private int sid; private String name; private Date createDt; private boolean studentInd; private List feeDetails;
FeeReceiptVO:
private int semisterNum; private Double feeAmount; private Date paidOn;
我正在使用DOZZER
将我的DTO映射到VO String-to-Date-DozzerMapping
DozzerMapper.xml
com.college.student.dto.StudentDTO com.college.student.vo.StudentVO student.sid sid student.name name student.createDt createDt student.studentInd studentInd student.feeDetails feeDetails
但是,feeDetails中的日期即, paidOn
无法从String格式化为Date。
难道我做错了什么?
我是否需要为此paidOn
字段编写CustomStringToDateConvertor
?
错误日志:
ERROR [org.dozer.MappingProcessor] (http-localhost-127.0.0.1-9090-1) Field mapping error --> MapId: null Type: null Source parent class: com.college.student.dto.StudentDTO Source field name: paidOn Source field type: class java.lang.String Source field value: 01/01/2015 01:01 Dest parent class: com.college.student.vo.StudentVO Dest field name: paidOn Dest field type: java.util.Date: org.dozer.converters.ConversionException: Unable to determine time in millis of source object at org.dozer.converters.DateConverter.convert(DateConverter.java:81) [dozer-5.4.0.jar:] at org.dozer.converters.PrimitiveOrWrapperConverter.convert(PrimitiveOrWrapperConverter.java:70) [dozer-5.4.0.jar:]
我尝试调试,我发现此日期的dateFormat
在Dozzer org.dozer.converters.DateConvertor
的Date转换器中显示为null
我在field-level
定义了date-format
,但它不受对象List
的影响。
有没有其他方法可以做到这一点?
因为,Dozer无法转换String-To-Date - At Field Level Mapping for a List
。
我已经为List定义了一个新的映射,即将其视为一个Object
我改变了DozerMapper.xml
com.college.student.dto.FeeReceiptDTO com.college.student.vo.FeeReceiptVO com.college.student.dto.StudentDTO com.college.student.vo.StudentVO student.sid sid student.name name student.createDt createDt student.studentInd studentInd student.feeDetails feeDetails