나는 @Entity라는 사용자가 있습니다. 그것은 다음과 같이 변경 집합의 설정이 있습니다스프링 데이터 나머지 페이지 가능 하위 컬렉션
@Repository
@RestResource(path = "users", rel = "users")
public interface UserRepository extends JpaRepository<User, Long>{ }
그리고 ChangesetRepository :
@Repository
@RestResource(path = "changesets", rel = "changesets")
public interface ChangesetRepository extends JpaRepository<Changeset, Long> { }
호출 GET http://localhost:8080/changesets/
또는 http://localhost:8080/users/
가 페이징 응답을 얻을 수에
@OneToMany(fetch=FetchType.LAZY, cascade=CascadeType.ALL, mappedBy="user")
private Set<Changeset> changesets = new HashSet<Changeset>();
나는 UserRepository 있습니다.
http://localhost:8080/users/1/changesets
에서 GET을 호출하면 모든 결과가 단일 배열로 전달되고 페이징이 발생하지 않습니다.
스프링 데이터 나머지에게 부모 사용자를 통해 액세스 할 때 페이지 집합 방식으로 변경 집합 컬렉션을 반환하겠다는 뜻이 있습니까? 변경 집합은 빠르게 커질 것이며 단일 페이지에서 많은 결과를 반환하지 않을 것입니다.
편집 :
@RestResource(path = "byUser", rel = "byUser")
public Page<Changeset> findByUser(@Param("id") User user, Pageable p);
나는 관계 양방향 왼쪽뿐만 아니라에서 변경 집합에 대한 링크를 숨길 수 있었다 : 윌리 휠러에 의해 제안
내가 그것을 검색 할 수 있도록 내 ChangesetRepository이 추가 변경 집합에 @RestResource(exported=false)
을 사용하여 사용자를 추가 할 수 있습니다.
사이드 노트 : exported = false로 설정하면 링크가 숨겨 지지만 실제로 매핑이 제거되지는 않습니다./users/1/changesets는 광고되지 않지만 여전히 유효합니다.
좋습니다. 나는 실제로 그것을 구현했고 그것은 꽤 좋다. 세부 정보를 사용하여 내 소식을 수정합니다. –
답변을 수락합니다. 다른 사람들이 내가 원한 것을 가능하게하는 SDR 특정 설정으로 물마루를 찾았는지 확인하고 싶었습니다. –
'List'대신 반환 값으로'Page '을 사용해야합니다. –