【发布时间】:2015-03-04 10:56:28
【问题描述】:
我想从用户表中选择三个属性,但它返回了用户的所有属性。我使用的代码如下:
Specification<Users> spec = new Specification<Users>() {
@Override
public Predicate toPredicate(Root<Users> root, CriteriaQuery<?> query,
CriteriaBuilder cb) {
// TODO Auto-generated method stub
List<Predicate> ps = new ArrayList<Predicate>();
ps.add(cb.equal(root.<String>get("userName"), userName));
List<Selection<?>> selections = new ArrayList<Selection<?>>();
selections.add(root.get("id"));
selections.add(root.get("birth"));
selections.add(root.get("userName"));
query.multiselect(selections);
query.where(ps.toArray(new Predicate[ps.size()]));
return query.getRestriction();
}
};
return repository.findOne(spec);
我正在等待您的建议。
【问题讨论】: