基于hibernate实现的jpa接口,multiselect不起作用-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

基于hibernate实现的jpa接口,multiselect不起作用

2016-03-19 10:13:29 6335 1

之前问过一次,没有人回答。。。。,再来问多一次~

使用jpa的仓库接口来查询数据,本意是根据条件来查询一个实体的指定属性字段,但是现在却把这个实体的所有属性都查出来了。问问大神们怎么解决。采用的是实现JpaSpecificationExecutor接口:代码如下:

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").alias("id"));
        selections.add(root.get("birth").alias("birth"));
        selections.add(root.get("userName").alias("userName"));
           
           
        query.multiselect(selections);
           
        query.where(ps.toArray(new Predicate[ps.size()]));
        return query.getGroupRestriction();
    }
};
    return repository.findOne(spec);


预期是查到id,birth,userName的,现在却是这样:

Hibernate: 
    select
        users0_.id as id1_22_,
        users0_.create_time as create_t2_22_,
        users0_.update_time as update_t3_22_,
        users0_.version as version4_22_,
        users0_.birth as birth5_22_,
        users0_.gendar as gendar6_22_,
        users0_.password as password7_22_,
        users0_.status as status8_22_,
        users0_.user_name as user_nam9_22_ 
    from
        users users0_ 
    where
        users0_.user_name=?

我已经multiselect里设置了,为什么还是这样。。。望解答

在网上找了很多都说是在multiselect里用root设置自己要查询的字段属性,可是根本没效果啊~~~

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:07:30

    这个Specification也是spring-data-jpa的一个东西。我在Pro JPA2这本上看到过一点,应该能解释你的这个问题 你可以用cb来创建一个query,先不要用参数里自带的那个query
    screenshot

    0 0
相关问答

40

回答

[@徐雷frank][¥20]什么是JAVA的平台无关性

大河人家 2018-10-29 23:55:20 144736浏览量 回答数 40

162

回答

惊喜翻倍:免费ECS+免费环境配置~!(ECS免费体验6个月活动3月31日结束)

豆妹 2014-10-29 17:52:21 226179浏览量 回答数 162

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 337029浏览量 回答数 8

13

回答

[@饭娱咖啡][¥20]我想知道 Java 关于引用那一块的知识

心意乱 2018-10-31 18:44:12 142465浏览量 回答数 13

110

回答

OSS存储服务-客户端工具

newegg11 2012-05-17 15:37:18 295580浏览量 回答数 110

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 147252浏览量 回答数 22

18

回答

阿里云开放端口权限

xcxx 2016-07-20 15:03:33 646817浏览量 回答数 18

31

回答

[@倚贤][¥20]刚学完html/css/js的新手学习servlet、jsp需要注意哪些问题?

弗洛伊德6 2018-10-27 21:52:43 146050浏览量 回答数 31

42

回答

【精品问答集锦】Python热门问题

小六码奴 2019-05-30 15:27:34 137043浏览量 回答数 42

10

回答

[@墨玖tao][¥20]为什么流式处理框架都是 java 写成的,JVM 是不是在流和批存在着特殊优势。还有分布式资源调度,感觉Mesos 的成长速度跟不上 Yarn。这是为什么?

管理贝贝 2018-10-23 13:18:03 136471浏览量 回答数 10
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载