Hibernate: сложный запрос самостоятельного соединения - PullRequest
0 голосов
/ 22 октября 2018

Как создать этот запрос в Hibernate (с использованием интерфейса спецификации / JpaSpecificationExecutor)?

SELECT i1.*
FROM Images AS i1 LEFT JOIN images AS i2
ON (i1.Gallery = i2.Gallery AND i1.Submitted < i2.Submitted)
WHERE i2.Submitted IS NULL;

Источник: https://www.exchangecore.com/blog/mysql-sql-retrieve-most-recent-or-largest-record-group/

Я пробовал это до сих пор:

public Predicate toPredicate(final Root<GalleryEntity> root, final CriteriaQuery<?> query, final CriteriaBuilder criteriaBuilder) {
    final List<Predicate> predicates = new ArrayList<Predicate>();
    final Join join = root.join("Images", JoinType.LEFT);
    join.on(criteriaBuilder.equal(root.get("Gallery"), join.get("Gallery")));

    predicates.add(join.getOn());


    return criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()]));

}

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