3

是否有任何方法可以一次设置具有 Array 作为实例变量的 DTO 对象?这是 DTO

public class AbcDTO {

String label;
Float[] time;
String[] startTime;
//getters and setters 
 }

这是我试图设置这个 DTO 的 bean 类

q = em.createNamedQuery("namedQuery");
        q.setParameter(1, anaId);
        List<Object> objects = new ArrayList();
        objects = q.getResultList();

现在对象列表,对象,将包含一个列表,其中列表的每个元素都有两个字段,时间和开始时间,来自数据库。如何使用给定的列表设置 DTO 对象。

4

1 回答 1

3

使用当前的 DTO,您将不得不遍历结果列表,收集timestartTime值并将它们分配给您的 DTO。JPA 没有为此提供直接的方法。

您可以做的是将您的 DTO 更改为具有time单个startTime字段。然后,您可以使用构造函数表达式将结果列表映射到 DTO 列表:

List<AbcDTO2> dtos = em.createQuery("SELECT new com.example.AbcDTO2( o.time, o.startTime) FROM Entity o").getResultList();
于 2013-01-23T08:49:33.330 回答