在旧版SDN3中,我可以使用findById(List id),但升级到SDN4后,我再也无法使用此功能,总是返回空。
这是我的示例课程:
@NodeEntity
public class Right{
@GraphId
Long graphId;
String id; //random generated UUID
String name;
//Properties & Constructor
}
然后我有RightRepository包含这些代码:
public interface RightRepository extends GraphRepository<Right> {
List<Right> findById(List<String> id);
}
我不需要使用Loop来获取每个ID,而只需要调用一次存储库,然后获取List(不使用findAll())
SDN4已经不支持吗?还有其他解决方案吗?
答案 0 :(得分:1)
当我在评论中发帖并经过进一步调查后,我认为自定义查询是目前完成您的要求的唯一方法。这有效:
@Query("MATCH (n:Right) WHERE n.id IN {rightIds} RETURN n")
List<Right> findRightById(@Param("rightIds") List<String> rightIds);
希望有所帮助