开发者社区 问答 正文

Spring data JPA 联表查询问题

初学

现在一般的组合查询条件+排序分页已经可以搞定。

现在的问题是,组合查询条件Specification

在有多表关联和多条件查询的情况下如何写。

这段是网上查到的代码:

Join join =Root.join(Root.getModel().getSingularAttribute("ldUser", SystemUser.class), JoinType.LEFT);

predicate = cb.equal(join.get("branch"), ldBranch);

这意思:

主表left join SystemUser on 主表.branch = SystemUser .??

ldBranch是啥玩意儿?

另外,如果on 后面条件有多个,怎么解决 举个例子

select u.username,c.text from t_user u
LEFT JOIN t_code c on u.sex = c.value and c.type ='Sex'
where u.usercode = '111'
and c.id='111'
怎么用Specification实现??

求大神!!

展开
收起
a123456678 2016-03-18 15:20:51 4395 分享 版权
1 条回答
写回答
取消 提交回答
  • ldBranch 是你传的值;

    其次如果多个条件组合查询 你多查下 CriteriaBuilder 这个 安全查询创建工厂 它是可以构建多个CriteriaQuery的 ; 这样就可达到你需求 predicate = cb.equal(join.get("branch"), ldBranch);

    2019-07-17 19:06:49
    赞同 展开评论