1
Jax-RS 리소스를 생성 중입니다. 응답의 총 레코드 수를 반환하고 싶습니다. 나는 다음과 같이 변수를 특정 추가 "카운트"로 명명 된 쿼리 및 헤더 기능을 사용하고 있습니다 :JAX-RS 리소스에서 페이징 중 발견 된 총 행 수
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response findAll(
@QueryParam("offset") int offset,
@QueryParam("limit") int limit) {
EntityManager em = factory.createEntityManager();
Query query;
try {
query = em.createNamedQuery("User.getCount");
String count = ((Long) query.getSingleResult()).toString();
query = em.createNamedQuery("User.findAll");
List<T> list = query.setFirstResult(safeOffset(offset))
.setMaxResults(safeLimit(limit))
.getResultList();
return Response.ok(new GenericEntity<List<User>>(list) {})
.header("Count", count)
.build();
} catch (Exception e) {
return Response.serverError().build();
} finally {
em.close();
}
}
기록의 총 개수 발견을 계산하고 반환하는 더 나은 방법이 있는지 궁금 해서요?