我使用spring引导规范来查询数据库并返回结果。我查询的表包含很多列,我只想检索特定的列。这是我的密码-
public static Specification<Partner> filter(SearchCriteria criteria) {
return (root, cq, cb) -> {
String key = criteria.getKey();
String value = criteria.getValue();
cq.distinct();
cq.multiselect(root.get("id").alias("Partner ID"), root.get("name").alias("Partner Name"),
root.get("shortDescription").alias("Short Desc"), root.get("logoUrl").alias("Logo Url"),
root.get("accentColor").alias("Accent Color"));
return cb.equal(root.get(ID), value);
}
我还在实体中添加了一个构造函数
public Partner(Long id, String name, String shortDescription, String logoUrl, String accentColor) {
this.id = id;
this.name = name;
this.shortDescription = shortDescription;
this.logoUrl = logoUrl;
this.accentColor = accentColor;
}
但是,这不起作用,它检索所有列。我在控制台上也没有看到错误。我有什么遗漏吗?
暂无答案!
目前还没有任何答案,快来回答吧!