我有点赶时间,所以我只想问一个关于 querydsl 的快速问题。根据我的研究,query dsl 不支持存储过程,但可以支持数据库功能。我的问题是我们如何使用 querydsl 调用这些数据库函数?
最佳答案
您可以使用基于 TemplateExpression 的任意 JPQL 语法注入(inject)到您的查询中。
例如
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)"));
关于java - 如何使用querydsl调用mysql函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22984343/