我正在尝试做类似的事情:
List<Report> results = new ArrayList<Report>();
results = em.createQuery("SELECT u.firstname, u.lastname, u.workEmail FROM Employee u", Report.class)
.getResultList();
但是,报表具有比从数据库中选择的3列更多的属性(并且没有针对这3个属性的特定构造函数),因此结果将转换为对象向量,而不是报表的ArrayList。有没有办法将结果保留为ArrayList并使Report的所有其他属性为null?
List data =em.createQuery("SELECT u.firstname, u.lastname, u.workEmail FROM Employee u", Report.class)
.getResultList();
List<Report> results = new ArrayList<Report>();
for (Object object : data) {
Map row = (Map) object;
Report report = new Report();
report.setFirstName(row.get("0"));
report.setLastName(row.get("1"));
report.setWorkEmail (row.get("2"));
results.add(report);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句