2016-01-09 68 views
2

我正在使用MySQL作爲數據庫並在我的代碼上實現JPA。如何在使用JPQL/JPA時使用date_format

我沒有問題從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; 

回答

1

SQL函數date_format不是JPQL的一部分,任何文檔,會告訴你,所以不要看到這一點,在短短推SQL到JPQL和期待它工作。

你可以用JPA 2.1要做的是調用它,如下

function("date_format", s.date, '%Y, %m, %d') 

其中function是一種方式來調用任何本地SQL函數。這顯然意味着您失去了數據庫獨立性,因爲該功能在所有數據存儲上都無效。

+0

謝謝!我現在能夠用下面的語句檢索格式化的值。來自TransactionEntity的SELECT函數('date_format',s.date,'%Y,%m,%d'); – sinxanh

相關問題