Closed cranehe closed 6 years ago
在实际项目中会有这样的一种情况,一个实体对应的关联对象有多个,这时候在使用内置的baseservice的时候发现没有能满足的,遂想是不是可以实现一个这样的方法:
public NutMap data(int length, int start, int draw, List<DataTableOrder> orders, List<DataTableColumn> columns, Cnd cnd, Map<String,Cnd> links) { NutMap re = new NutMap(); if (orders != null && orders.size() > 0) { for (DataTableOrder order : orders) { DataTableColumn col = columns.get(order.getColumn()); cnd.orderBy(Sqls.escapeSqlFieldValue(col.getData()).toString(), order.getDir()); } } Pager pager = new OffsetPager(start, length); re.put("recordsFiltered", this.dao().count(this.getEntityClass(), cnd)); List<?> list = this.dao().query(this.getEntityClass(), cnd, pager); if (null != links) { for (String linkName: links.keySet()){ Cnd subCnd = links.get(linkName); if (subCnd != null){ this.dao().fetchLinks(list, linkName, subCnd); }else { this.dao().fetchLinks(list, linkName); } } } re.put("data", list); re.put("draw", draw); re.put("recordsTotal", length); return re; }
最后一个参数用一个map来传递多个link查询,不知道是不是合理?
原来有个方法,最后面一个是支持正则表达式的:
.data(length, start, draw, order, columns, cnd, "^(tags|goodsClass|goodsType)$");
意思是之前支持过是吗?但是正则这个也不能定义关联查询用到的cnd条件的吧?
在实际项目中会有这样的一种情况,一个实体对应的关联对象有多个,这时候在使用内置的baseservice的时候发现没有能满足的,遂想是不是可以实现一个这样的方法:
最后一个参数用一个map来传递多个link查询,不知道是不是合理?