我有以下内容:
public class RegimenEntity {
private Set<RegimenDrugEntity> regimenDrugs;
...
}
public class RegimenDrugEntity {
private int id;
...
}
@Mapper
public interface RegimenMapper {
@Mapping(target = "regimenDrugs.id", ignore = true)
public abstract RegimenEntity entityToEntity(RegimenEntity regimenEntity)
}
我想忽略在RegimenEntity中设置的regimenDrugs内的所有RegimenDrugEntity对象的id。
此映射(target=“regimenDrugs.id”,ignore=true)不编译。
试试这个:
@Mapper
public interface RegimenMapper {
@Mapping(target = "regimenDrugs.id", ignore = true)
public abstract RegimenEntity entityToEntity(RegimenEntity regimenEntity)
}
我们希望能够将未映射的SourcePolicy设置为ReportingPolicy. ERROR,以便默认情况下丢失的源会大声失败。但是,有时源对象模型包含与目标无关的内容。因此,我们希望能够执行以下操作: 可以对目标执行类似操作。如果我尝试上述操作,我会得到错误,因为映射中需要目标。
我正在使用MapStruct和在我的代码中的不同业务用例之间共享的大模型(超过50个字段)。根据入口点的不同,有些属性将被映射,有些则不被映射。当我构建我的项目时,我总是会得到“警告:未映射的目标属性”消息。 我已经研究过,并且看到可以通过使用语义命令来告诉mapstruct忽略该字段 问题是,给定我的对象具有如此多的字段,忽略每个映射器类中的每个属性将需要大量的代码。我也不想在我的日志上出现这个
我使用以下映射器映射实体: 对于映射为集合的实体,我只需要忽略“数据”字段。但看起来仅适用于单个实体。我还注意到生成的方法只是在for循环中使用。对此有什么解决方案吗?
我有以下DTO和域对象。我正在使用Mapstruct将域对象复制到DTO对象。 使用下面的映射器将域映射到DTO。我不想将电话属性从域映射到DTO。怎么做?我尝试在mapping ignore中提供嵌套目标属性,但它给出了错误:
问题内容: 我在代码中的不同业务用例之间共享的大型模型(超过50个字段)上使用了MapStruct。根据入口点的不同,某些属性将被映射,而某些属性将不被映射。构建项目时,我将始终收到“警告:未映射的目标属性”消息。 我研究发现,可以通过使用语义告诉mapstruct忽略字段 问题是,考虑到我的对象具有如此多的字段,将需要大量代码来忽略每个映射器类中的每个单个属性。我也不希望此警告出现在我的日志中。
有没有一种方法可以忽略使用mapstruct在此代码示例中第三种方法的映射器的生成?