获取条件为 api 的最后一条记录

Get last record with criteria api

各位。 我的任务是从我的数据库中获取最后添加的记录。由于数据库中的最后一条记录具有最大id,所以我写了一个这样的方法,但它对我来说总是returns null。

@Override
    public Address getLast() {
        CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
        CriteriaQuery<Address> criteriaQuery = criteriaBuilder.createQuery(Address.class);
        Root<Address> root = criteriaQuery.from(Address.class);
        criteriaQuery
                .select(root)
                .orderBy(criteriaBuilder.desc(root.get(Address_.id)));
        TypedQuery<Address> findAllSizes = entityManager.createQuery(criteriaQuery);
        return findAllSizes.getResultStream().findFirst().orElse(null);
    }

一切正常。我需要添加的只是在调用指定方法的方法上添加@Transactional