我正在将Java EE与MySQL作为数据库并在我的代码上实现JPA。
我从MySQL Workbench检索数据没有问题,但是当我将语法更改为JPQL时,它不起作用。
例如在MySQL中-它可以工作
SELECT date_format(s.date,'%Y, %m, %d') from Transactions s;
在JPQL中-它不会
SELECT date_format(s.date,'%Y, %m, %d') from TransactionEntity s;
如何修改以适合JPA查询?
注意:在JPQL中,以下工作
SELECT s.date from TransactionEntity s;
Neil Stockto.. 5
date_format
正如任何文档都会告诉您的那样,SQL函数不是JPQL的一部分,因此不要仅仅将SQL推入JPQL并期望它能工作就没有意义。
使用JPA 2.1可以执行的操作如下
function("date_format", s.date, '%Y, %m, %d')
在哪里function
可以调用任何本机SQL函数。显然,这意味着您失去了数据库独立性,因为该功能在所有数据存储上均无效。
date_format
正如任何文档都会告诉您的那样,SQL函数不是JPQL的一部分,因此不要仅仅将SQL推入JPQL并期望它能工作就没有意义。
使用JPA 2.1可以执行的操作如下
function("date_format", s.date, '%Y, %m, %d')
在哪里function
可以调用任何本机SQL函数。显然,这意味着您失去了数据库独立性,因为该功能在所有数据存储上均无效。