如何正确地从原生 sql 转换为 querydsl 表达式?

How to translate from native sql to querydsl expression right?

给定以下本机 SQL 查询:

@Query(
value =
"SELECT "
+ "jp.BLABSTATUSID BlabStatus, "
+ "s.BLABSTATUSBEZ BlabStatusBez, "
+ "COUNT(*) sumvalue "
+ "FROM JP jp "
+ " LEFT JOIN BLAB_STATUS s "
+ " ON jp.BLABSTATUSID = s.BLABSTATUSID "
+ "GROUP BY jp.BLABSTATUSID, s.BLABSTATUSBEZ",
nativeQuery = true)

我在 Java / spring 上下文中使用,我必须切换到 querydsl。

我试过了:

final QJpEntity e = jpEntity;
final QBlabStatusEntity f = blabStatusEntity;

    return jpaQueryFactory
        .from(e)
        .leftJoin(e.blabStatus, blabStatusEntity)
        .on(blabStatusEntity.blabstatusid)
        .groupBy(e.blabStatus.blabstatusid, f.blabstatusbez)
        .select(
            Projections.constructor(
                JPStatisticCounter.class,
                e.blabStatus,
                f.blabstatusbez,
                e.count()))
        .fetch();

但它无法编译,因为它在语法上似乎是错误的。

有什么想法吗?

已解决,是构造函数类型不匹配