public List<Trade> getList(QueryConditions conditions, PageInfo pageInfo) { String hql = "select new Trade(primary.tradeNo, primary.orderNo, primary.holdNo, primary.bs_flag, primary.firmId, primary.commodityId, primary.o_firmId, commodity.name, firm.firmName, primary.o_bs_flag, primary.oc_flag, primary.quantity) from Trade as primary, Commodity as commodity, Firm as firm where primary.firmId = firm.firmId and primary.commodityId = commodity.id "; Object[] values = (Object[]) null; String[] names = (String[]) null; if ((conditions != null) && (conditions.getFieldsSqlClause() != null) && (!"".equals(conditions.getFieldsSqlClause()))) { values = conditions.getValueArray(); names = conditions.getNameArray(); hql = hql + " and " + conditions.getFieldsSqlClause(); } CacheSet cacheSet = new CacheSet(); cacheSet.setRegion("queryCache"); List<Trade> list = queryByHQL(hql, names, values, pageInfo, cacheSet); return list; }