2

我有一个 grails 应用程序。我们支持 Oracle 数据库和 H2 数据库。

我在 prod 上使用 Oracle 11g DB,在开发环境上使用 H2 DB。我有带有“listAgg”功能的休眠查询。它在 Oracle 上运行良好。但是H2不支持这个功能。我还能做些什么来将此功能与 H2 一起使用?

我认为可以通过自定义方言来完成。但我不明白怎么做。谁能详细解释一下?

我看到 H2 具有类似于 listAgg 的“group_concat”功能。我可以配置我的应用程序,以便将“group_concat”用于 H2DB 而不是 listAgg。

圣杯 2.3.11。

非常感谢!

4

1 回答 1

0

LISTAGG是 Oracle 特有的功能。您将无法在其他数据库中使用它。例如,在 MSSQL 中,替代方案可能是使用STUFF函数。

如果您在 H2 中需要它,则必须使用此名称定义用户定义的函数,这与 LISTAGG 在 Oracle 中的作用相同。有关详细信息,请参见http://www.h2database.com/html/features.html#user_defined_functions

于 2016-06-13T18:44:25.680 回答