2
스프링 내장 JPA와 스프링 내장 버전 1.3.6.RELEASE를 메모리 내장 데이터베이스와 함께 사용하고 있습니다.스프링 데이터 JPA. 하위 엔티티에 대한 페이지 매기기
부모 엔티티에서 하위 엔티티의 페이지 매김을하는 것이 궁금합니다. 가져 오기를 LAZY으로 설정하는 것은 해결책이 아닙니다. 아이엔티티와 단방향 oneToMany 관계를 갖는다
- 상위 : 여기서 은 사용 케이스이다.
- 하나 부모에 대한 아이의 수는
- 내가 (CPU 및 메모리의 이유로) 페이지 매김을 할 모든 자식을 가져하지 않으려는 (LAZY는 해결책이 아니다) 10 만에 도달 할 수 있습니다 : 나는 실패 부모 저장소에이 작업을 시도했습니다
@Entity
public class Parent{
@Id
private Integer id;
@OneToMany
private List<Child> childs;
}
@Entity
public class Child {
@Id
private Integer id;
}
public interface ParentRepository extends JpaRepository<Parent, Integer>{}
public interface ChildRepository extends JpaRepository<Child, Integer>{}
: 여기
Page<Child> findById(int id, Pageable pageable);
이렇게하면 하위 항목이 아닌 상위 항목이 반환됩니다.
어떻게하면 좋을까요?
글쎄, 당신은 아이 엔티티를 찾고 있기 때문에, 그 방법은 ChildRepository에 있어야하고,이 findByParent 이름을 지정해야합니다, 반환 아이들 주어진 부모 엔티티와 관련된. ''부모 선택 p.children child p = : parent'에서''자식 선택 '과 같은 것입니다. –
관계가 단방향 일지라도 작동합니까? 나는 그것을 시도 할 것이다. – nono
같은 문제는 행운없이 해결하려고합니다. 문제를 풀 수 있다면 질문에 대답 할 수 있습니다. [관련 질문] (https://stackoverflow.com/questions/31582224/how-to-get-paginated-child-lists-from-onetomany-unidrectional-parent-using-findb) –