【问题标题】:GraphRepository find method on 2nd level relationshipGraphRepository 查找二级关系的方法
【发布时间】:2020-10-06 04:07:38
【问题描述】:

我正在使用 spring-data-neo4j-4.2.0.RC1 和 neo4j-ogm-core-2.1.0.jar
具有以下域对象
用户 -> 角色 -> 特权

public class User extends BaseEntity{
        private String firstName;
        private String lastName;

        @Relationship(type="ROLE")
        private Role role;
}
@NodeEntity
public class Role extends BaseEntity{

    private String name;

    @Relationship(type="PRIVILEDGE")
    private Priviledge priviledge;
}
@NodeEntity
public class Priviledge extends BaseEntity {

    private String name;
}

public interface UserRepository extends GraphRepository<User> {

    User findByRolePriviledgeName(String name);
}

我想查找所有具有特定权限名称的用户。上述查询适用于 JPA 和 spring 存储库,但不会返回 GraphRepository 的预期结果。
不确定这是错误/不支持还是我做错了什么

【问题讨论】:

    标签: neo4j spring-data-neo4j-4


    【解决方案1】:

    这在 SDN 派生的查询中不支持,仅支持一层嵌套,但您的使用了两层(角色,然后是特权)。 您可以为此编写自定义@Query

    【讨论】:

    • SDN 4 GraphRepository 是否支持 countBy 查询,如下所示:'public interface UserRepository extends GraphRepository { Long countByName(String name); }'
    • 支持
    猜你喜欢
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    • 2015-06-29
    • 1970-01-01
    • 2013-01-09
    • 2013-08-22
    相关资源
    最近更新 更多