首页 > 解决方案 > 使用标准 api 获取最后一条记录

问题描述

每个人。我的任务是从我的数据库中获取最后添加的记录。由于数据库中最后一条记录的id最大,所以我写了一个这样的方法,但它总是返回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);
    }

标签: springhibernatehibernate-criteria

解决方案


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


推荐阅读