JPA получить вход по метке времени - PullRequest
0 голосов
/ 05 ноября 2019

Я пытаюсь извлечь все записи сегодня из класса сущностей, используя jpa.

В моем классе сущностей есть свойство создания даты.

public class SingleTripDetails {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private SingleTripDetailsStatus status = SingleTripDetailsStatus.MATCHED;

    @CreationTimestamp
    private Timestamp dateCreated;

    @JsonIgnore
    @Column(insertable = false, updatable = true)
    @UpdateTimestamp
    private Timestamp lastModified;
}

Я пытаюсь получить все записи поdateCreated свойство.

public List<SingleTripDetails> findByStatusAndDateCreated(SingleTripDetailsStatus status, Timestamp date);

Я делаю следующее в своем классе обслуживания данных

public List<SingleTripDetails> getAmountMadeToday(Date date, String email) {
        return driverRiderApplicationRepository.findByStatusAndDateCreated(SingleTripDetailsStatus.ENDED, new Timestamp(date.getTime()));
    }

but it does not work. What could I be doing wrong?

1 Ответ

1 голос
/ 05 ноября 2019

обработка Дата - очень сложная часть, временная метка может сохранять с точностью до наносекунд.

давайте рассмотрим ваш метод хранилища

driverRiderApplicationRepository.findByStatusAndDateCreated(

Это будет сделано точносовпадают по статусу и дате создания, не зная данных, сохраненных в БД, я просто предполагаю, что дата хранится со временем.

Поскольку я понимаю, что вы хотите получить всю сумму, сделанную сегодня, я бы посоветовал вам (для меня самый безопасный способ)измените свой метод хранилища, как показано ниже:

findByStatusAndDateCreatedBetween(Statustype status, Timestamp t1, Timestamp t2)

сейчас

в Метка времени t1: provide a date with time as 00:00

в Метка времени t2: provide the same date with time as 23:59

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...