Как проверить разницу между датами в Hibernate - PullRequest
0 голосов
/ 17 февраля 2020

Я хочу выбрать объекты из базы данных, проверяя метку даты. Объект следует выбирать только в том случае, если от значения этого ярлыка прошло 3 часа. Например, значение 2020-02-17 17:32:24 следует выбирать, только если текущее время не менее 2020-02-17 20 : 32: 24.

    Date now = new Date();
    long nowLong =  3600000L * HOURS;

    //NOT important, just connection.
     Session session = GestorBBDD.getSession();
    CriteriaBuilder cb = session.getCriteriaBuilder();
    CriteriaQuery<ImageDemand> cr = cb.createQuery(ImageDemand.class);
    Root<ImageDemand> root = cr.from(ImageDemand.class);

    //COMPARE HERE
    cr.select(root).where(cb.(root.get("time"), ???));

Может быть root .get ("время") * сейчас долго? root .get («время») - сейчас, 360000 * 3? Или, может быть, cr.select (root). Where (cb.greaterThan (root .get ("time") - (root .get ("time") + nowLong), 0));

Но ничего из этого не может скомпилироваться. Есть идеи?

Спасибо.

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