当前位置: 首页 > 知识库问答 >
问题:

Spring Data JPA中使用规范进行内部连接和分组

孙光临
2023-03-14

我正在尝试获取员工的详细信息,其雇员类型是职员,其加入日期是最近的一个。

SQL Server 2008中的查询如下所示:

select 
 * 
from 
  employee jj 
  inner join
  (
    select 
      max(join_date) as jdate,
      empltype as emptype 
    from 
      employee 
    where 
      empltype='clerk' 
    group by empltype
  ) mm 
    on jj.join_date=mm.jdate and jj.empltype=mm.emptype;
int seqid;(sequence id)
String empltype:
Date joindate;
String role;
Predicate toPredicate(Root<employee> root,CriteriaQuery <?> query,CriteriaBuilder cb)
{
            Predicate pred=null;
            // Returning the rows matching the joining date
            pred=cb.equal(root<Emplyoee_>.get("joindate"));
            //**//

}

提前致谢

共有1个答案

邢修明
2023-03-14

我在记事本上写了这个,它还没有经过测试,但我想你在找类似的东西

QEmployee e1 = new QEmployee("e1");
QEmployee e2 = new QEmployee("e2");

PathBuilder<Object[]> eAlias = new PathBuilder<Object[]>(Object[].class, "eAlias");
JPASubQuery subQuery = JPASubQuery().from(e2)
                                    .groupBy(e2.empltype)
                                    .where(e2.empltype.eq('clerk'))
                                    .list(e2.join_date.max().as("jdate"), e2.emptype)

jpaQuery.from(e1)
        .innerJoin(subQuery, eAlias)
        .on(e1.join_date.eq(eAlias.get("jdate")), e1.emptype.eq(eAlias.get("emptype")))
        .list(qEmployee);
 类似资料:
  • 我有一个用spring boot Version1.5.x编写的项目,它连接到一个MariaDB数据库和几个表,它们之间有大量的关系。为了查询数据库,我使用org.springframework.data.jpa.repository中提供的JpaSpecificationExecutor接口。我们使用规范的原因是为了构建动态查询,而不必为存储库本身中的每个筛选可能性编写新的查询。在实体本身中,每

  • 如何在临时文件中获取名称以便在此查询中设置? 谢谢。

  • 问题内容: 我试图在一个列上内部联接两个表。从数据库方面来看,没有映射,因为这是我不想讨论的。 我想使用INNER JOIN执行HQL查询并检索ROLE对象/结果。 到目前为止,这是我的总部 session.createQuery(“ ROLE作为角色,INNER JOIN INVOLVEMENT作为参与角色,id。X =参与.roleid WHERE参与.id = X”)。list(); 我看到

  • 我正在使用Symfony 3和教义2.5。总共有三张表: 给定公司id 2,最终结果应该是这样,但就我个人而言,我无法为它编写一个有效的原则QueryBuilder方法 我有三个可以工作的MySQL查询,它们为我带来了想要的结果。但就我的一生而言,我无法将任何一个问题转换成至少一个工作原理问题。 使用MySQL查询(这实际上可能会帮助这里的一些用户): 我在Doctrine的QueryBuilde

  • 我想使用Spring JPA规范连接函数 这是我的表格代码: > } 我如何在规范中加入表中的学生和家长?

  • 我正在使用一个JPA查询,它使用一个规范来检索实体。当我执行查询时,我得到了一个错误: 组织。springframework。数据映射。PropertyReferenceException:找不到类型任务的属性名称! 我已经查看了之前在该网站上提出的类似问题的答案 当我使用调试器逐步检查代码时,条件生成器中的扩展路径将返回嵌入的ID类,但当规范实际用于查询时,该属性似乎正在应用于基本实体类。 我是