Java 推土机-从实体列表到实体列表';身份证件

Java 推土机-从实体列表到实体列表';身份证件,java,spring,dto,dozer,dto-mapping,Java,Spring,Dto,Dozer,Dto Mapping,我有一个名为User的域对象: public class User { private long id; private String username; private String email; private List<Profile> profiles; // getters & setters } 我想要的是,推土机为列表中的每个配置文件获取配置文件的id,并将其保存在DTO的列表中。我可以这样做吗?我必须使用自定义转换器

我有一个名为User的域对象:

public class User {
    private long id;
    private String username;
    private String email;
    private List<Profile> profiles;

    // getters & setters
}
我想要的是,推土机为列表中的每个配置文件获取配置文件的id,并将其保存在DTO的列表中。我可以这样做吗?我必须使用自定义转换器吗

这是我的实际映射文件

<mapping>
    <class-a>common.model.User</class-a>
    <class-b>common.model.dto.UserDTO</class-b>
    <field>
        <a>legalEntity.id</a>
        <b>legalEntityId</b>
    </field>
    <field type="one-way">
        <a>profiles.id</a>
        <b>profilesId</b>
    </field>
</mapping>
<field type="one-way">
    <a get-method="getProfilesId">profiles</a>
    <b>profilesId</b>
</field>

common.model.User
common.model.dto.UserDTO
法律性
法律权利
profiles.id
profilesId
已解决 只需将此方法添加到源类

public List<Long> getProfilesId() {
    List<Long> profilesId = new ArrayList<Long>();
    for(Profile p : this.profiles) {
        profilesId.add(p.getId());
    }
    return profilesId;
}
公共列表getProfilesId(){
List profilesId=new ArrayList();
用于(配置文件p:this.profiles){
profilesId.add(p.getId());
}
返回profilesId;
}
和映射文件

<mapping>
    <class-a>common.model.User</class-a>
    <class-b>common.model.dto.UserDTO</class-b>
    <field>
        <a>legalEntity.id</a>
        <b>legalEntityId</b>
    </field>
    <field type="one-way">
        <a>profiles.id</a>
        <b>profilesId</b>
    </field>
</mapping>
<field type="one-way">
    <a get-method="getProfilesId">profiles</a>
    <b>profilesId</b>
</field>

轮廓
profilesId
这说明推土机使用哪种方法进行转换