gpt4 book ai didi

java - JPQL getResultList 转换为具有比从数据库中选择的更多属性的类

转载 作者:行者123 更新时间:2023-11-29 08:58:35 25 4
gpt4 key购买 nike

我正在尝试做类似的事情:

List<Report> results = new ArrayList<Report>();
results = em.createQuery("SELECT u.firstname, u.lastname, u.workEmail FROM Employee u", Report.class)
.getResultList();

但是,Report 的属性多于从数据库中选择的 3 列(并且没有针对这 3 个属性的特定构造函数),因此结果被转换为 Object 的 Vector 而不是 Report 的 ArrayList。有没有办法将结果保留为 ArrayList 并使 Report 的所有其他属性为空?

最佳答案

 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);
}

关于java - JPQL getResultList 转换为具有比从数据库中选择的更多属性的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18871045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com