java - 无法获取从 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;
}
}
解决方案
推荐阅读
- typescript - 使用来自不同文件的继承和对象
- octave - 强制 Octave 只显示科学记数法
- java - 原生广告静音原因未显示?
- oracle - FRM-13008:找不到名为“oracle.forms.fd.Sound”的 JavaBean。
- javascript - 有没有办法确定用户是否通过 javascript 中的 iphone 书签(添加到主屏幕)访问我的网站?
- arrays - 从对象数组向 CSV 追加一行
- java - 警报管理器导致应用程序崩溃
- ftp - curl_easy_setopt(curl, CURLOPT_FTPPORT, str) 在远程计算机上 - 地址不可用
- c# - 打印出类属性以查看
- oracle - Web 控制台和 SQL Plus 在 Oracle XE 10g 中不同步