您好我想使用HQL返回地图现在我有两个方法,一个消耗更少的内存或哪一个更好?
Query query = sessionFactory.getCurrentSession().createQuery("from UniwareTallySku");
@SuppressWarnings("unchecked")
List<UniwareTallySku> skuList = (List<UniwareTallySku>) query.list();
for (UniwareTallySku list : skuList) {
uniwareSkuVsTallySku.put(list.getUniwareSku(), list.getTallySku());
}
return uniwareSkuVsTallySku;
另一个是
Query query = sessionFactory.getCurrentSession().createQuery("select new map(table.columnname2 as c1, table.columnname3 as c2) from UniwareTallySku");
哪一个更好? 感谢帮助
答案 0 :(得分:0)
我认为这是微观优化。除了可忽略不计的优化之外,您还在滥用Hibernate与手动查询。我是第一个方式。
永远不要在代码中手动编写查询。它们依赖于DB。并且还要避免使用HQL(如果可能的话, )。
尝试使用Criteria API