首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mapstruct -empty集

Mapstruct -empty集
EN

Stack Overflow用户
提问于 2019-04-02 07:03:14
回答 1查看 237关注 0票数 0

我在我的项目中使用Mapstruct。在其中一个实体中,我设置了oneToMany结构。当我在存储库中使用findAll ()检索所有数据时,如果没有绑定,则返回一个空的HashSet。

Mapstuct将实体映射到DTO上,当它遇到空集时,它会给出NullPointException异常。在创建的映射器中有一个条件,如果HashSet为null,则返回nulla,但这里是一个空集合。如何在DTO上映射实体,以便在空集合的情况下返回nulla?

只需编写代码:

实体:

代码语言:javascript
复制
public class Employee{

....
private Set workplaces;
...
}

Mapstruct:

代码语言:javascript
复制
@Mapper(componentModel = "spring")
public interface EmployeeMapper{
EmployeeDTO toDTOFromEntity(Employee employee);
}
EN

回答 1

Stack Overflow用户

发布于 2019-04-02 23:25:04

我肯定遗漏了一些东西,但是mapstruct会生成这样的代码:

代码语言:javascript
复制
if ( set != null ) {
    employeeDTO.setWorkplaces( new HashSet( set ) );
} else {
    employeeDTO.setWorkplaces( null );
}

因此,空集的新Hashset不会导致空指针?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55464745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档