2014-01-08 83 views
0

舉例來說,我應該能夠做到以下幾點:JPQL命名參數可以在多個位置使用嗎?

Query deleteQuery = entityManager.createQuery("delete from LogEntry log " 
    + "where log.year < :year " 
    + "or (log.year = :year and log.month < :month) " 
    + "or (log.year = :year and log.month = :month and log.dayOfMonth <= :dayOfMonth"); 
deleteQuery.setParameter("year", year); 
deleteQuery.setParameter("month", month); 
deleteQuery.setParameter("dayOfMonth", dayOfMonth); 
int deleteCount = deleteQuery.executeUpdate(); 

做我必須確定6個獨立的命名參數?引用和javadoc沒有明確地解決這種情況。我在我的環境中嘗試它(Glassfish/Eclipselink),但是我想要通過JPA實現可移植的最終解決方案。

回答

1

該規範沒有提到「同一命名參數可以在查詢字符串中使用不止一次。

見部分4.6.4.2命名參數JPA 2.0 spec

+0

這就是我一直在尋找的。看起來Google搜索到的大多數摘要都是關鍵句。謝謝 - 不,我有一個規格的副本。 :) – sceaj

相關問題