J'utilise Spring Data et j'utilise une requête native :
@Query(value = "SELECT DISTINCT(t.foo_id) FROM t_bar t where time > ?1", nativeQuery = true)
List<String> getFoo(DateTime after);
Par exemple, ceci renvoie 3
les résultats.
Requête native directement dans le serveur mysql :
SELECT DISTINCT(t.foo_id) FROM t_bar t where time > '2016-08-16T11:44:00.002+02:00'
renvoie à 0
les résultats.
Les dates sont égales pour les deux.
Les résultats sont différents de ceux obtenus avec une requête sql pure. time
la propriété n'est pas utilisée ou fausse. Qu'est-ce qui est faux ?
Edita:
@Query(value = "SELECT DISTINCT(t.foo_id) FROM t_bar t where time > DATE_SUB(CURRENT_TIMESTAMP, INTERVAL ?1 HOUR)", nativeQuery = true)
List<String> getFoo(int lastHours);
Renvoie des résultats corrects.
Mais le problème persiste, quelle en est la cause ?