【发布时间】:2017-01-31 06:05:28
【问题描述】:
我正在使用带有螺栓驱动器 2.0.6 的 spring data neo4j 版本 4.1.2。我面临自动破坏实体之间关系的问题。
我有一个名为组织的域,该组织属于许多实体,但我只提到少数。
组织架构
public class Organization {
private String formalName;
private String shortName;
@Relationship(type = COUNTRY)
private Country country;
@Relationship(type = HAS_GROUP)
private List<Group> groupList = new ArrayList<>();
}
国家架构是
public class Country {
@Relationship(type = HAS_HOLIDAY)
private List< CountryHolidayCalender> countryHolidayCalenderList;
}
当我更新组织时,它会破坏国家/地区的所有关系,例如破坏国家/地区假期关系等
组织更新代码
Organization unit = organizationGraphRepository.findOne(unitId);
unit.setFormalName(organizationGeneral.getFormalName());
unit.setShortName(organizationGeneral.getShortName());
organizationGraphRepository.save(unit);
我找不到,我做错了什么。请帮帮我,我们现在不能承受这种错误。
谢谢
【问题讨论】:
-
您是否尝试过指定更大的深度来加载
Organization实体?例如organizationGraphRepository.findOne(unitId, 2) -
我明白了你的意思,当我通过 id 找到组织时,很少有关系出现,然后保存后只更新这些关系,其余的中断。因此,如果我必须更新大量关系数据,那么我应该为每个解决方案或任何其他解决方案编写自定义查询吗?
标签: neo4j spring-data-neo4j neo4j-bolt