问题
Given I have two entity: Person and Company, and there are multiple relationships between them:
Person - Company:
- The person can be the employee of the company
- The person can be the shareholder of the company
- The person can be the legal person of the company
Company - Company:
- The company can be the legal of the company
- The company can be the shareholder of the company
So how to modeling this in spring data neo4j?
What I tried is make 3 relationship types: EMPLOY, INVEST, LEGAL, each relationship type with the Company as the StartNode and the person as the EndNode, then in company and person, keep these relationships with the "UNDIRECTED" direction, just same as the diagram present, but always get the stackoverflow error when saving and searching.
回答1:
Yes, now here is the solution in github, all the classes are house in sample.spring.data.neo4j
package, and the the corresponding test sample.spring.data.neo4j.repositories.CompanyRepositoryTest
The big issue at the beginning is it always throws the StackOverFlow exception which is due the the lombok annotation, after remove all the lombok annotations and use the plain getter/setter, everything goes well.
来源:https://stackoverflow.com/questions/46503104/how-to-modeling-this-relation-in-spring-data-neo4j