问题描述
所以,我敢肯定这是一个基本错误,但是我无法推断出什么... 我有一个包含20多个字段的表格。我需要创建一些东西来从一个字段返回特定计数。
select查询基本上是这样的:
SELECT d.host AS Host,COUNT(d.host) AS Total FROM VM_N d JOIN VM_VM h WHERE h.datetime BETWEEN
CAST(#date1# AS DATE) AND CAST(#date2# AS DATE) GROUP BY d.host ORDER BY Total DESC
我已经建立了一个过滤日期的规范,如下所示:
public static Specification<NSBaseQuery> withDaterange(Date dateInit,Date dateFim) {
if (dateInit == null || dateFim == null) {
return null;
} else {//return a.compareto(d) * d.compareto(b) >= 0;
return (Root<NSBaseQuery> root,CriteriaQuery<?> query,CriteriaBuilder cb) -> cb.between(root.get("date"),dateInit,dateFim);
}
}
但是我正在努力创建选择项,对此我还很陌生...
这就是我所能提供的:
public static Specification<NSBaseQuery> getNSActives(Boolean active,Date dateInit,Date dateFim) {
if (!active || active == null) {
return null;
} else {//root.get("host").alias("Host"),cb.count( root.get("host")).alias("Total")
return (Root<NSBaseQuery> root,CriteriaBuilder cb) -> {
query.multiselect(root.get("host").alias("Host"),cb.count( root.get("host")).alias("Total"))
.where(cb.between(root.get("date"),dateFim));
//also here there's an error because of the return type that i can't resolve...
};
}
}
我该如何进行这项工作?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)