당신이 할 수있는 방법에 대한 몇 가지 옵션이 있습니다.
귀하의 호출 코드는 단순히 당신의 SomeObjectRepository
에서 다음 호출 할 수 있습니다 :
Iterable<Long> ids = categories.stream().map(SomeObject::getId).collect(Collectors.toSet());
Iterable<SomeObject> someObjects = someObjectRepository.findAll(ids, 1);
참고이 방법은 그러나 페이징을 지원하지 않습니다.
이
@Autowired
private Session session;
...
// Option 1: write some cypher
Map<String, Object> params = new HashMap<>():
params.put("ids", ids) // use a stream like above to collect the ids.
Iterable<SomeObject> someObjects = session.query(SomeObject.class, "MATCH (n:SomeObject) ...", params);
//Option 2: use the load by instances method which also allows pagination:
Collection<SomeObject> someObjects = session.loadAll(categories, new Pagination(0, 25));
나의 추천 옵션이 될 것이다 :
또 다른 방법은 호출 코드에 Session
를 주입하고 중 원하는 객체를 검색하거나 모든 인스턴스 방법으로 부하를 사용하는 사용자 정의 사이퍼 쿼리를 작성하는 것입니다 그것은 당신이 원하는 것을 정확히 수행합니다.
SomeObject와 Category는 "BELONG"관계로 연결된 다른 엔티티입니다. – icer
오 ~ 알았어. 이 경우 유일한 옵션은 세션을 삽입하고 옵션 1을 수행하는 것입니다. OGM'Pagination' 객체를 사용하여 페이지를 반환 할 수도 있습니다. – digx1