数据传输对象

时间:2013-08-14 11:11:34

标签: java jpa jpa-2.0

在我的架构中,在我的DAO层中,我想将实体(javax.persistence.Entity)转换为Pure Entity。例如,想象我有实体这样:

    @Entity
    public class DAOImp(){

    @Id
    private int id;
    .
    .
    .//getter and setter
    }

转入此课程:

public class DAOData{
 private int id;
.
.
.//getter and setter
}

当这是我的DAOImpl类中的映射字段时出现问题。对于emample想象我在DAOImp类中提交的一个是:

@OneToMany(mappedBy="kc5tnx")
    private List<Kc5add> kc5adds;

我不知道如何处理这个问题。我不知道如何将此实体转移到DAOData。 你能告诉我怎样才能解决这个问题?

2 个答案:

答案 0 :(得分:1)

您必须使用可序列化

实现您的类
public class DAOData  implements Serializable
{
 private int id;
.
.
.//getter and setter
}

答案 1 :(得分:0)

您需要创建转换器以在您的实体(DAOImp)和数据传输对象(DAOData)之间传输数据,并手动仅将POJO数据传输到DTO。

例如:

public class DaoConverter {

  public static DaoData convertToDTO(DaoImpl daoImpl) {
    DaoData daoDataDTO = new DaoData();
    daoDataDTO.setId(daoImpl.getId());
    ...
    return daoDataDTO;
  }

}