spring neo4j得到两个不同标签的列表,但关系相同

时间:2014-07-30 08:34:00

标签: neo4j spring-data-neo4j

public class Company implements Serializable {
    @RelatedTo(type = "REPORT_TO", direction = Direction.INCOMING)
    private List<Department> departments;

    @RelatedTo(type = "REPORT_TO", direction = Direction.INCOMING)
    private List<Company> subCompanies;

在班级公司中,有两个列表,其中包含不同的标签(部门和公司),

但是当我使用neo4jTemplate.fetch(company.getSubCompanies())时,结果就是部门和子公司的总数。 看来spring-neo4j按关系搜索结果,搜索所有标签,而不是特定的标签

为什么部门会回来?令人惊奇的是 @Override public List<Company> getSubCompaniesByCompanyId(Long companyId) { Company company = companyRepository.findOne(companyId); return neo4jTemplate.fetch(company.getSubCompanies()); }

chrome控制台将获取Department bean,它如何转换为公司.......

添加豆子以查看惊人的内容 enter image description here enter image description here 和控制台结果

enter image description here

属性有&#34; departmentType&#34;,这是Department的属性,但现在在公司的bean中..... 我在java中看到过,List中的bean就是部门! enter image description here enter image description here

1 个答案:

答案 0 :(得分:1)

您是否尝试使用注释属性:enforceTargetType=true,它应该将类型限制为目标中给定的类型。 (您可能还需要使用elementClass=Department.class,不能完全记住)