如何解决标准构建器和规范jpa
所以,我敢肯定这是一个基本错误,但是我无法推断出什么... 我有一个包含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 举报,一经查实,本站将立刻删除。