获取条件为 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
各位。 我的任务是从我的数据库中获取最后添加的记录。由于数据库中的最后一条记录具有最大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