繁体   English   中英

在Dozer中使用泛型进行深度映射

[英]Deep mapping with generics in Dozer

我一直在努力寻找如何在Dozer中使用泛型映射到对象,并且经过大量搜索之后没有找到任何对我有帮助的东西。

我正在尝试将我写的某些对象映射到其他人创建的对象。 我开始使用批注,并看到了类似的错误,所以我改用映射文件。 但是,它似乎没有帮助。

这是我要完成的示例。

public interface MyObject<T extends MyContent> {
   T getData();
}

public interface MyStaff extends MyContent {
   Demo getDemo();
}

public interface Demo {
   Name getName();
}

public interface Name {
  String getFirstName();
  String setFirstName(String firstName);
}
<mapping>
    <class-a>com.example.Staff</class-a>
    <class-b>com.example.MyObject</class-b>
    <field>
        <a>firstName</a>
        <b>data.demo.name.firstName</b>
    </field>
</mapping>

这是我看到的错误:

org.dozer.MappingException: No read or write method found for field (data.demo.name.firstName) in class (interface com.example.MyObject)

我尝试了另一种排列方式(例如,使用具体的类而不是接口),但没有任何效果。

我能够使它工作。 似乎该问题是由于实现类不是公共的。 看来这可能是一个错误或至少是一个增强。 推土机应该通知您无法访问该类,因为这表明未找到该字段具有误导性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM