【发布时间】:2013-02-23 14:37:44
【问题描述】:
我有一些表名作为我的方法的 i/p 参数。我需要获取creationDate(日期),对每个表进行计数并将其放入合并列表中)
然后根据creationDate对列表进行排序。
方法如下:
public String getData(List tablename){
Lifecycle.beginCall();
EntityManager mgr = (EntityManager) Component.getInstance("entityManager");
List data = new ArrayList();
if (!tablename.isEmpty())
{
Iterator itr = tablename.iterator();
while(itr.hasNext())
{
String element = itr.next().toString();
Query q = mgr.createQuery("select to_date(s.creationDate), count(s)" +
" from " + element + " s" +
" group by to_date(creationDate)" +
" order by to_date(creationDate)");
List dataTemp = q.getResultList();
data.addAll(dataTemp);
}
}
}
现在我有列表数据,例如:
({["Jan 3, 2013 12:00:00 AM",10],
["Feb 3, 2013 12:00:00 AM",10],
["Jan 1, 2013 12:00:00 AM",10],
..........})
这里的挑战是我希望这个列表根据日期排序
【问题讨论】:
-
你试过
Collections.sort吗? -
您可以通过 sql 命令使用 order。看到这个:stackoverflow.com/questions/3616224/…
-
与您的问题无关但很重要:使用参数化查询来防止 sql 注入
标签: java