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,它如何转换为公司.......
添加豆子以查看惊人的内容 和控制台结果
属性有&#34; departmentType&#34;,这是Department的属性,但现在在公司的bean中..... 我在java中看到过,List中的bean就是部门!
答案 0 :(得分:1)
您是否尝试使用注释属性:enforceTargetType=true
,它应该将类型限制为目标中给定的类型。 (您可能还需要使用elementClass=Department.class
,不能完全记住)