Spring - trouver tous où la différence entre la date de début et aujourd'hui est plus de 30 jours (mois)

voix
0

Est-il possible d'écrire la méthode CrudRepository sans utiliser @Query annotation qui renvoie toutes les données où la date de début est plus de 30 jours par rapport au jour d'aujourd'hui?

Mon modèle contient 3 attributs: device_ID, Notification_id et created_on

aussi, en plus je voudrais données distinctes par device_id

PAR EXEMPLE

si je l'ai stocké dans mes résultats db comme celui-ci:

| dev_id | not_id | created_on |

| 1 | 1 | 01.12.2018 |

| 1 | 2 | 2018-25-07 |

| 2 | 2 | 2018-25-07 |

| 1 | 3 | 2018-16-12 |

| 2 | 3 | 2018-16-12 |

Résultat des données devrait être le premier 3 lignes parce que créé sur est râpe de 30 jours par rapport à la date d'aujourd'hui

Après cela, je voudrais aussi dinstict données par identifiant de l'appareil, donc je peux obtenir tous les id de périphériques de Where créés à la date est plus que le mois

Donc, je suis à la recherche de la meilleure solution pour cette requête

Créé 18/12/2018 à 11:10
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

ok, il est difficile de mettre en œuvre sans @Query annotation

donc si quelqu'un recherche de solutions similaires ici est ma requête:

@Query(value = "SELECT DISTINCT table.device_id, table.notification_id, table.created_on FROM table WHERE table.created_on < DATE(NOW()) - INTERVAL 30 DAY", nativeQuery = true)
List<DeviceNotification> getDeviceIdWithNotificationOlderThan30Days();
Créé 18/12/2018 à 23:41
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more