2013-01-23 23 views
1

是否有任何方法可以將具有一個Array作爲實例變量的DTO對象一次性設置? 這裏是DTO設置一個具有數組作爲實例變量的DTO onject

public class AbcDTO { 

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

這是從那裏我試圖設置此DTO

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

現在的對象,對象的列表,包含列表中的bean類,其中的每個元素列表中有來自數據庫的兩個字段,時間和startTime。我如何設置給定列表的DTO對象。

回答

1

對於當前的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(); 
+0

非常感謝您的回覆,但我用另一種方法在結果列表進行迭代,但我會保持你的做法,介意。 – user2002522

+0

@ user2002522當然,不客氣 – kostja

相關問題