我使用spring-data-jdbc中的QueryDslJdbcTemplate
。用例是,我加入2个表(qMainTable和qReferenceTable),并希望按查询条件分组结果。主要查询如下所示:
SQLQuery query = qdslTemplate.newSqlQuery().from(qMainTable).innerJoin(qReferenceTable) .where(qMainTable.member.eq(qReferenceTable.member).and(qReferenceTable.userGuid.in(ImmutableList.of("a","b"))))
我希望结果如下所示:
"a" -> [qMainTable.row1, qMainTable.row2]
"b" -> [qMainTable.row3]
我发现QueryDsl支持这种转换:
query.transform(groupBy(qReferenceTable.userGuid).as(list(qMainTable))
问题是,如何使用Spring QueryDslJdbcTemplate
来运行它?谢谢!