小编典典

如何使用querydsl调用mysql函数?

hibernate

我有点着急,所以我只想问一个关于querydsl的快速问题。根据我的研究,查询dsl不支持存储过程,但可以支持数据库功能。我的问题是我们如何使用querydsl调用那些数据库函数?


阅读 1131

收藏
2020-06-20

共1个答案

小编典典

您可以在查询中使用基于TemplateExpression的任意JPQL语法注入。

例如

query.where(Expressions.booleanTemplate("func1({0}, {1})", arg1, arg2));

如果您使用的是Hibernate 4.3或任何其他符合JPA
2.1的提供程序,则可以使用FUNCTION语法调用SQL函数https://bugs.eclipse.org/bugs/show_bug.cgi?id=350843

所以这个例子会变成

query.where(Expressions.booleanTemplate("function('func1', {0}, {1})", arg1, arg2)"));
2020-06-20