QueryDSL构建选择计数查询

Iur*_*rii 5 java querydsl

我想使用 QueryDSL 库构建选择计数查询,如下所示:

select count(1) from table1

我创建了下一个代码:

SQLTemplates sqlTemplates = builder.printSchema().build();
Configuration configuration = new Configuration(sqlTemplates);
Path table = new RelationalPathBase(Object.class, "alias", "hr", "table1");
StringPath[] columnsPath = new StringPath[1];
columnsPath[0] = Expressions.stringPath(table, "field1");
SQLQuery sqlQuery = new SQLQuery(dataSource.getConnection(), configuration)
                .from(table);
sqlQuery.setUseLiterals(true);
String selectStatement = sqlQuery.getSQL(columnsPath).getSQL();
Run Code Online (Sandbox Code Playgroud)

结果 selectStatement 是下一个:

select alias.field1 from hr.table1 alias
Run Code Online (Sandbox Code Playgroud)

请有人建议如何重写上面的代码以获得

select count(alias.field1) from hr.table1 alias
Run Code Online (Sandbox Code Playgroud)

Tim*_*per 4

将最后一行替换为

String selectStatement = sqlQuery.getSQL(columnsPath[0].count()).getSQL();
Run Code Online (Sandbox Code Playgroud)