2014-09-22 67 views
1

我有以下实体:Orika多态映射

public class Activity 
{ 
    private Long activityId; 
    private String name; 
    private Long year; 

} 


public class Course extends Activity 
{ 
    private Long duration; 
    private Date startDate; 
    private Date endDate; 
    .... 
} 

public class Conference extends Activity 
{ 
    private Date dueDate; 
    private Person speaker; 
    .... 
} 

我已经在我的数据库与子实体所有attrbitues建模这是一个活动表,然后使用单表策略映射它们休眠。

我想检索给定年份的所有活动。我知道如何通过Hibernate在数据访问层上做到这一点,我的问题是使用Orika映射器映射这些多态对象(其中一些是课程,其中一些是会议):我总是以不包含每个具体实体的Activity对象属性。

更具体地说,我已经得到了第四类,姑且称之为A,其中有Activity元素的列表,这可能是CourseConference类的,我想它映射这样的:

ADTO adto = map(A, ADTO.class); 

我还没有发现在互联网上对这个问题的任何信息...

回答

1

Orika支持多态映射和集合中也

请看一看这个PolicyElementsTestCase

在Orika的测试代码中有很多用例,你可以参考。希望这可以帮到你。