java - 如何使用querydsl调用mysql函数?

标签 java sql hibernate jpa querydsl

我有点赶时间,所以我只想问一个关于 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/

相关文章:

c# - 识别一组点中的矩阵

java - 结果集在 while 循环中只迭代一次

html - 使用sql将参数插入HTML

sql - 在数据库中存储多项选择值

java - 如何在java中比较数组字符串元素和集合字符串元素

java - 签名 PADES 顺序或并行

mysql - 在 mysql 中使用单个更新查询更新包含多个记录的表

java - 处理餐厅场景中的同时预订请求

hibernate - Spring,Blob 下载,byte[] 大小增加两倍

java - 使用 hibernate 和 mysql 检索多态实体