无法保存具有另一个节点的 @RelatedTo 传出方向的 NodeEntity
Unable to save NodeEntity having a @RelatedTo Outgoing Direction with another node
我正在使用 Spring Boot
和 Neo4J 2.1.8
,并创建了两个 NodeEntities
Parent 和 Child。
parent class 是
@NodeEntity
public class Parent{
@GraphId
@Indexed(indexName = "id", indexType = IndexType.FULLTEXT)
private Long id;
@RelatedTo(type=RelationType.IS_RELATED,direction=Direction.OUTGOING)
@Fetch
private Set<Child> children;
}
而 child class 是
@NodeEntity
public class Child{
@GraphId
private Long id;
private String name;
}
parentRepo
和 childRepo
class 都扩展了 GraphRepository
现在创建一个 parent 并在其中设置 child object 并调用 parentRepo.save(parent)
。parent 和 child实体与关系一起创建。
现在的问题陈述是:
当 parent 实体已经创建并且我这样做时
Child child= new Child()
...............
Parent parent=parentRepo.retriveParent(id);
parent.getChildren().add(child);
parentRepo.save(parent);
出现以下错误:-
com.sun.jersey.api.client.ClientHandlerException: java.net.SocketTimeoutException: Read timed out
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:149)
at org.neo4j.rest.graphdb.UserAgent.handle(UserAgent.java:68)
at com.sun.jersey.api.client.Client.handle(Client.java:648)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:670)
at com.sun.jersey.api.client.WebResource.access0(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.put(WebResource.java:523)
at org.neo4j.rest.graphdb.ExecutingRestRequest.put(ExecutingRestRequest.java:155)
at org.neo4j.rest.graphdb.RestAPIImpl.setPropertiesOnEntity(RestAPIImpl.java:633)
at org.neo4j.rest.graphdb.entity.RestEntity.flush(RestEntity.java:189)
好的,我知道了 it.I 不用打电话 parentRepo.save(parent)
我所做的是
childRepo.save(child);
Parent parent=parentRepo.retriveParent(id);
parent.getChildren().add(child);
节点和关系已自动更新。无需显式调用parentRepo.save()
我正在使用 Spring Boot
和 Neo4J 2.1.8
,并创建了两个 NodeEntities
Parent 和 Child。
parent class 是
@NodeEntity
public class Parent{
@GraphId
@Indexed(indexName = "id", indexType = IndexType.FULLTEXT)
private Long id;
@RelatedTo(type=RelationType.IS_RELATED,direction=Direction.OUTGOING)
@Fetch
private Set<Child> children;
}
而 child class 是
@NodeEntity
public class Child{
@GraphId
private Long id;
private String name;
}
parentRepo
和 childRepo
class 都扩展了 GraphRepository
现在创建一个 parent 并在其中设置 child object 并调用 parentRepo.save(parent)
。parent 和 child实体与关系一起创建。
现在的问题陈述是:
当 parent 实体已经创建并且我这样做时
Child child= new Child()
...............
Parent parent=parentRepo.retriveParent(id);
parent.getChildren().add(child);
parentRepo.save(parent);
出现以下错误:-
com.sun.jersey.api.client.ClientHandlerException: java.net.SocketTimeoutException: Read timed out
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:149)
at org.neo4j.rest.graphdb.UserAgent.handle(UserAgent.java:68)
at com.sun.jersey.api.client.Client.handle(Client.java:648)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:670)
at com.sun.jersey.api.client.WebResource.access0(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.put(WebResource.java:523)
at org.neo4j.rest.graphdb.ExecutingRestRequest.put(ExecutingRestRequest.java:155)
at org.neo4j.rest.graphdb.RestAPIImpl.setPropertiesOnEntity(RestAPIImpl.java:633)
at org.neo4j.rest.graphdb.entity.RestEntity.flush(RestEntity.java:189)
好的,我知道了 it.I 不用打电话 parentRepo.save(parent)
我所做的是
childRepo.save(child);
Parent parent=parentRepo.retriveParent(id);
parent.getChildren().add(child);
节点和关系已自动更新。无需显式调用parentRepo.save()