我想使用QueryDsl中的SQLExpressions。我有一个名为qMyClass的Q对象。现在我想使用oracle数据库的listagg函数。因此,我想初始化一个WithinGroup对象。
WithinGroup<Object>.OrderBy withinGroup = SQLExpressions.listagg(qMyClass.attributeName, "/").withinGroup().orderBy(qMyClass.attributeName);
第一部分
SQLExpressions.listagg(qMyClass.attributeName, "/")
已经给我错误了:
运算符LISTAGG和args的未知操作 [myClass.attributeName,/]
有谁知道如何使用listagg?没有在网上找到任何有用的信息。我使用的是QueryDsl的4.0.2版。谢谢!
答案 0 :(得分:0)
尝试这样的事情:
select(
qMyClass.id,
SQLExpressions.listagg(qMyClass.attributeName,"/")
.withinGroup()
.orderBy(qMyClass.attributeName.asc())
.getValue()
.as("foo"))
.from(qMyClass)
.groupBy(qMyClass.id);