首页 > 解决方案 > 无法获取从 ejb 返回到 liferay 控制器的确切 dto

问题描述

我正在做一个在后端使用 ejb 的 liferay 项目。所以我的 ejb 方法看起来像这样:-

@Override
public List<RmisPaymentDetailsDto> getEpaymentDetails(String ebpCode) {
    Query q = entityManager.createQuery("select s from EpaymentBo s where s.ebpCode=:ebpcode")
            .setParameter("ebpcode",ebpCode);
    @SuppressWarnings("unchecked")
    List<ProductBo> list = q.getResultList();

    Iterator<ProductBo> i = list.iterator();

    List<RmisPaymentDetailsDto> rList = new ArrayList<RmisPaymentDetailsDto>();

    while(i.hasNext()){
        EpaymentBo ep =(EpaymentBo) i.next();

        RmisPaymentDetailsDto dto = new RmisPaymentDetailsDto();
        dto.setAdvertisementcode(ep.getAdvertisementcode());
        dto.setAmount(ep.getAmount());
        dto.setStudentmasterid(ep.getStudentmasterid());
        dto.setEbpgendate(ep.getEbp_gen_date());
        dto.setEbpcode(ep.getEbpCode());
        dto.setPaymentstatus(ep.getPaymentstatus());
        dto.setCandidatenameinnepali(ep.getCandidatenameinnepali());
        rList.add(dto);

    }


    return rList;
}

上述方法成功地从数据库中获取数据并将其设置为我的 RmisPaymentDetailsDto。

像这样:-

在此处输入图像描述

现在我从我的 liferay 控制器调用相同的方法。

PreExaminationRemote preRef = (PreExaminationRemote) jndiContext
                .lookup("PreExamination/remote");

        List<RmisPaymentDetailsDto> rDto = preRef.getEpaymentDetails(ebpCode);

我想知道我的一个属性(candidatenameinnepali)是如何丢失的,因为我从我的 ejb 返回相同的 dto。

在此处输入图像描述

我的 dto 看起来像这样:-

public class RmisPaymentDetailsDto implements Serializable {

    private static final long serialVersionUID = 1L;


    private String advertisementcode;
    private String ebpcode;
    private String amount;
    private String studentmasterid;
    private Date ebpgendate;
    private String paymentstatus;
    private String candidatenameinnepali;



    public String getCandidatenameinnepali() {
        return candidatenameinnepali;
    }
    public void setCandidatenameinnepali(String candidatenameinnepali) {
        this.candidatenameinnepali = candidatenameinnepali;
    }
    public String getAdvertisementcode() {
        return advertisementcode;
    }
    public void setAdvertisementcode(String advertisementcode) {
        this.advertisementcode = advertisementcode;
    }
    public String getEbpcode() {
        return ebpcode;
    }
    public void setEbpcode(String ebpcode) {
        this.ebpcode = ebpcode;
    }
    public String getAmount() {
        return amount;
    }
    public void setAmount(String amount) {
        this.amount = amount;
    }
    public String getStudentmasterid() {
        return studentmasterid;
    }
    public void setStudentmasterid(String studentmasterid) {
        this.studentmasterid = studentmasterid;
    }
    public Date getEbpgendate() {
        return ebpgendate;
    }
    public void setEbpgendate(Date ebpgendate) {
        this.ebpgendate = ebpgendate;
    }
    public String getPaymentstatus() {
        return paymentstatus;
    }
    public void setPaymentstatus(String paymentstatus) {
        this.paymentstatus = paymentstatus;
    }
    public static long getSerialversionuid() {
        return serialVersionUID;
    }   

}

标签: javaejbliferay

解决方案


推荐阅读