map怎么转化dto_使用MapStruct进行Dto到实体的转换时出错

请考虑以下实体、Dto和映射程序类。

人格.java

package com.example.car;

import java.util.ArrayList;

import java.util.List;

public class PersonEntity {

private String name;

private List cars;

public PersonEntity() {

cars = new ArrayList<>();

}

public boolean addCar(CarEntity carEntitiy) {

return cars.add(carEntitiy);

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public List getCars() {

return cars;

}

public void setCars(List carEntities) {

this.cars = carEntities;

}

}

小心.java

package com.example.car;

public class CarEntity {

private String model;

public String getModel() {

return model;

}

public void setModel(String model) {

this.model = model;

}

}

package com.example.car;

import java.util.ArrayList;

import java.util.List;

public class PersonDto {

private String name;

private List cars;

public PersonDto() {

cars = new ArrayList<>();

}

public boolean addCar(CarDto carDto) {

return cars.add(carDto);

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public List getCars() {

return cars;

}

public void setCars(List carDtos) {

this.cars = carDtos;

}

}

CarDto.java卡

package com.example.car;

public class CarDto {

private String model;

public String getModel() {

return model;

}

public void setModel(String model) {

this.model = model;

}

}

package com.example.car;

import org.mapstruct.CollectionMappingStrategy;

import org.mapstruct.Mapper;

import org.mapstruct.factory.Mappers;

@Mapper(collectionMappingStrategy = CollectionMappingStrategy.ADDER_PREFERRED)

public interface PersonMapper {

PersonMapper INSTANCE = Mappers.getMapper(PersonMapper.class);

PersonEntity personDtoToPersonEntity(PersonDto personDto);

}

this

链接我收到以下错误:

无法将属性“java.util.List cars”映射到

映射方法:“com.example.car.CarEntity

映射(java.util.List值)”。

如果我从Person类中删除“adder”方法,它就可以正常工作。但我真的想使用adder方法(用于JPA实体的父子关系)。

我不知道为什么MapStruct不将PersonEntity中的cars属性解释为List。它将该属性解释为一个简单的CarEntity,而不是CarEntity列表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值