Spring - encontrar tudo em que a diferença entre a data de início e hoje é maior do que 30 dias (mês)

votos
0

É possível escrever método CrudRepository sem usar @query anotação que retorna todos os dados onde data de início é maior do que 30 dias em relação ao dia de hoje?

Meu modelo contém 3 atributos: DEVICE_ID, Notification_id e created_on

Também além Gostaria datas distintas por device_id

POR EXEMPLO

se eu tiver armazenado nos meus resultados db como este:

| dev_id | not_id | created_on |

| 1 | 1 | 2018/12/01 |

| 1 | 2 | 2018-25-07 |

| 2 | 2 | 2018-25-07 |

| 1 | 3 | 2018-16-12 |

| 2 | 3 | 2018-16-12 |

Resultado dos dados deve ser a primeira 3 linhas, porque criado em é ralador de 30 dias, em comparação com data de hoje

E depois que eu também gostaria de dinstict dados de identificação do dispositivo, para que eu possa obter todos ID do dispositivo é onde criados em data é maior do mês

Então, eu estou procurando melhor solução para esta consulta

Publicado 18/12/2018 em 11:10
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

ok, é difícil de implementar sem @query anotação

por isso, se alguém procura de soluções semelhantes aqui é a minha consulta:

@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();
Respondeu 18/12/2018 em 23:41
fonte usuário

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