我有点着急,所以我只想问一个关于querydsl的快速问题。根据我的研究,查询dsl不支持存储过程,但可以支持数据库功能。我的问题是我们如何使用querydsl调用那些数据库函数?
您可以在查询中使用基于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)"));