Представьте, что у меня есть узел Person, у которого есть 3 хобби
Питер -> Хоккей
Питер -> Футбол
Питер -> Баскетбол
Когда я вызываю его из строки из
interface PersonRepository extends Neo4jRepository<Person, Long>{
@Query("MATCH (p:Person)-[has:HAS_HOBBY]->(h:Hobby) RETURN p, has, h"
List<Person> find();
Тогда у меня есть PersonService
метод, который вызывает PersonRepostiry.find()
И когда я вызываю этот метод из PersonService
в контроллере
@RequestMapping("/")
public String all(){
return personService.find();
}
Все работает отлично, но когда я получаю доступ к этому локальному хосту: 8080 / я получаю json вот так
{
"person":"Peter",
"hobbies":{
"name":"hockey"
}, {
"name":"soccer"
}, {
"name":"basketball"
}
}
но я бы очень хотел получить такой вывод
{
"person":"Peter",
"hobby": { "name":"hockey" }
}
{
"person":"Peter",
"hobby": { "name":"soccer" }
}
{
"person":"Peter",
"hobby": { "name":"basketball" }
}
EDIT:
@NodeEntity
class Person{
public Long id;
public String name;
@RelationShip(type="HAS_HOBBY")
public Set<Hobby> hobbies;
public addHobby(Hobby hobby) { TODO.. }
}