persistance java sql natif de ne pas accepter des paramètres

ma requête est

sql = "SELECT SUM(TOTAL_BYTES_DELIVERED) /SUM(TOTAL_TIME_TAKEN_IN_DELIVERY) 
         FROM MV_MFT_TRANSFER 
        WHERE TRANSFER_INITIATION_TIME > :startDate 
          AND TRANSFER_INITIATION_TIME < :endDate"

Query query = em.createNativeQuery(sql);
query.setParameter("startDate", startDate, TemporalType.DATE);
query.setParameter("endDate", endDate, TemporalType.DATE);
query.getResultList();'

Lorsque je l'exécute, j'obtiens une erreur

SQLExceptionTHrown: 
<Sep 11, 2012 12:50:46 PM PDT> <Warning> <EclipseLink> <BEA-2005000> <2012-09-11 12:50:46.893--UnitOfWork(1387841584)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.1.v20120804-d768c4f): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Missing IN or OUT parameter at index:: 1
Error Code: 17041
Call: SELECT SUM(TOTAL_BYTES_DELIVERED) / SUM(TOTAL_TIME_TAKEN_IN_DELIVERY) FROM MV_MFT_TRANSFER WHERE TRANSFER_INITIATION_TIME > :startDate AND TRANSFER_INITIATION_TIME < :endDate
Query: DataReadQuery(sql="SELECT SUM(TOTAL_BYTES_DELIVERED) /SUM(TOTAL_TIME_TAKEN_IN_DELIVERY) FROM MV_MFT_TRANSFER WHERE TRANSFER_INITIATION_TIME > :startDate AND TRANSFER_INITIATION_TIME < :endDate")> 
***SQLException in init() TRANSFER METRICS BEAN****
Local Exception Stack: 
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.4.1.v20120804-d768c4f): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Missing IN or OUT parameter at index:: 1
comment est le groupe par liés au manque de paramètres d'entrée
juste parce qu'il y est un aggregate fonction n'a pas forcément les moyens qu'elle nécessite un GROUP BY. Les fonctions d'agrégation souvent (pas toujours) besoin d'un ajout GROUP BY déclaration.
Je suis relativement nouveau à la persistance. Est-il une erreur de syntaxe, je suis en train de faire? J'en ai un similaire bout de code qui fonctionne lorsque la requête est créée à l'aide de em.createQuery() de l'API.
Les deux startDate et endDate sont des objets de type java.sql.La Date et la colonne de la table est également de type Date.

OriginalL'auteur Vinit Asher | 2012-09-11