- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
当对象都属于类层次结构时,是否可以将对象映射到其相应的 DTO?
例如:我有一个 BaseEntity
和一些 ExtendedEntity1
.. ExtendedEntityN
在另一边,我有一个 BaseDTO
和一些 ExtendedDTO1
.. ExtendedDTON
那么我有一个服务方法:
public BaseDTO getById(String id) {
return orikaMapper.map(repository.findOne(id), BaseDTO.class);
}
这样我显然总是得到一个 BaseDTO
,但我想将实体映射到正确的 DTO 类型...
有办法实现这一点吗?我不会使用 switch
或 instanceof
- 检查解决方法...
最佳答案
尚未发现更好的解决方案(如果存在),所以我会这样做:
Map<Class<? extends BaseEntity>, Class<? extends BaseDTO>> dtoMappings;
我正在定义一个映射Map
,其中放置实体和 DTO 之间的所有关联。然后在我的方法中:
public BaseDTO getById(String id) {
BaseEntity e = repository.findOne(id);
return orikaMapper.map(repository.findOne(id), dtoMappings.get(e.getClass()));
}
关于java - 使用 Orika 将实体层次结构映射到 DTO 层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44029734/
我正在使用 Orika Mapper。 我想知道我能不能包括或排除属性 使用 Orika Mapper 进行映射时。 如果可能,那么如何做同样的事情? 最佳答案 您可以简单地通过定义映射来包含属性。
我已经定义了对象 HomeContentDTO 和 SubscriberUpsertDTO 的映射 public class HomeContentDTO implements Serializabl
Orika 支持泛型类型,但我很难让它与泛型集合一起使用。由于 Orika 不支持不同的收集策略(累积、非累积、孤立删除),我需要编写一个自定义映射器来处理我的需求。 问题是 Orika 没有应用这个
我需要使用 Orika 实现嵌套映射器。我需要怎么做呢?让我们讨论嵌套的简单对象 Class Person(){ Address address; String firstName; String l
考虑 2 个对象: public class ClassA { private List animals; public List getAnimals() { ret
我有以下实体: public class Activity { private Long activityId; private String name; private Long
我需要用 Orika 替换 Dozer 映射,并且我想知道是否可以在 Orika 中执行此 Dozer 操作 mapper.map(obj1, obj2)?到目前为止,我已经看到,对于目标,您只能指定
我有以下两个类(class): public class TodoDto { private Long id; private String description; priv
我有一个 Class1,我想将其转换为 Class2。 Class1 和 Class2 都有一个字段:AbstractClass3 some。 AbstractClass3 被声明为 abstract
我想使用 Orika 库映射一个带有嵌套集合的字段。我在类里面的字段定义为: private final List> list = new LinkedList>(); Pojo 是一个简单的 POJ
我需要帮助将 n 层深层结构展平为单层对象属性。约定是使用下划线字符 (level1_level2_level3)。我正在使用 orika ( http://orika-mapper.github.i
我需要使用 Orika 将一个属性映射到多个属性,并且正在努力寻找合适的示例。 给定以下类(class): public class A { String propertyA1 Strin
您好,我很难映射抽象嵌套属性的字段。这里我有一个测试用例可以更好地解释它: package com.mycompany.asd; import org.junit.Assert; import org
有没有办法使用 Orika将字段的值设置为文字值或常量值? 我的意思是: public class ObjectMapper extends ConfigurableMapper {
我想使用 Orika 映射两个字段 @Override public void configure(MapperFactory factory) { factory.clas
我有以下类(class): public class A{ List aaList; public A(List aaList){ this.aaList = aaLi
这可能很简单,但我无法在文档中找到它。我有一个人类 class BasicPerson { private String name; private int age; private
在实际项目中,考虑到不同的数据使用者,我们经常要处理 VO、DTO、Entity、DO 等对象的转换,如果手动编写 setter/getter 方法一个个赋值,将非常繁琐且难维护。通常情况下,这类转换
我有这样的情况: class Person { String firstName; String lastName; Integer age; Float height
我正在使用 Orika Mapper 来映射源类和目标类的字段。 我可以完美地进行一对一映射。 我在 Source 类中有两个字段,例如 dateOfDeparture 和 dateOfArrival
我是一名优秀的程序员,十分优秀!