简体   繁体   English

如何从本机 sql 转换为 querydsl 表达式?

[英]How to translate from native sql to querydsl expression right?

Given the following native SQL query:给定以下本机 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)

that I use in my Java / spring context, I have to switch to querydsl.我在我的 Java/spring 上下文中使用的,我必须切换到 querydsl。

I tried:我试过了:

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();

but it cannot compile because it seems syntactically wrong.但它无法编译,因为它在语法上似乎是错误的。

Any ideas?有任何想法吗?

解决了,这是一个构造函数类型不匹配

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM