我已将简单的一对多关系定义为:
@Relationship(type = "BELONG")
private Set<Category> categories;
我想根据Category
的确切集合查询所有对象。即实现类似的东西:
Page<SomeObject> findAllByCategories(Set<Category> categories, PageRequest page);
在Spring Data Neo4j中执行此操作的最佳方法是什么?
答案 0 :(得分:0)
您可以选择如何做到这一点。
您的通话代码只需拨打float DynamicItemWidth {
get {
int ItemMinimumWidth = 300, margin = 16; //just some guesses
var gridWidth = ...;
var numberOfColumns = gridWidth % ItemMinimumWidth;
var itemWidth = (gridWidth - margin * (numberOfColumns - 1)) / numberOfColumns;
return itemWidth;
}
}
上的以下内容:
SomeObjectRepository
请注意,此方法不支持分页。
另一种方法是在调用代码中注入Iterable<Long> ids = categories.stream().map(SomeObject::getId).collect(Collectors.toSet());
Iterable<SomeObject> someObjects = someObjectRepository.findAll(ids, 1);
,并编写自定义Cypher查询以检索所需对象,或者使用load by instance方法:
Session
我的建议是选项2,因为它几乎完全符合您的要求。