【发布时间】:2016-12-05 09:06:04
【问题描述】:
@Override
RegistrationDto isCandidateUnfit(RegistrationDto dto) {
Long nationId = 0L;
if(dto.getNationMast() != null){
nationId = dto.getNationMast().getNationId();
}
Registration reg = registrationRepo.findCandidateMedicalStatus(dto.getPassportNo(),nationId,
dto.getCivilId(), ServiceConstants.CANDIDATE_MED_STATUS_UNFIT_ID);
return getMapper().map(reg, RegistrationDto.class) ;
}
如果一个 caollection(appointments) 为 null,则在映射 dozer 映射时,它会抛出异常未能延迟初始化角色集合:om.gov.moh.model.cdc.Registration.appointments
不能从 Lazy 变为 Eager
//RegistrationDto
@SuppressWarnings("serial")
public class RegistrationDto extends SearchDto implements java.io.Serializable {
// Fields
private Long regId;
@JsonIgnore
private Set<AppointmentDto> appointments = new HashSet<>(0);
private String orderStatus;
/** setters & getters **/
}
【问题讨论】:
-
你使用的是哪个 ORM?
-
您正在通过 Dozer 获得 LazyInitializationException。尝试以此为指导排除约会属性dozer.sourceforge.net/documentation/exclude.html
-
@Turbut Alin spring orm
-
只有当它为空时才需要排除
标签: spring spring-mvc dozer