0
我使用的是Spring Data Neo4J 3.3.1,我很难更新节点。我有一些代码等同于这一点,它具有对数据库的零影响:为什么我修改后的neo4j节点属性没有保存到数据库?
@Transactional
public void editTitle(Long nodeId, String newTitle) {
MyNode existingNode = nodeRepository.findOne(nodeId);
existingNode.getSubObject().setTitle(newTitle);
nodeRepository.save(existingNode);
}
这是MYNODE类:
@NodeEntity
public class MyNode {
@Fetch
@RelatedTo(type="LINKED_TO", direction = Direction.OUTGOING)
private SubObject subObject;
public SubObject getSubObject() {
return subObject;
}
}
这是子对象类:
@NodeEntity
public class SubObject {
private String title;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
我我能够保存MyNode类型的新节点而没有问题。我只需拨打nodeRepository.save(newNode);
即可将MyNode和SubObject一次保存到数据库中。
我已确认交易正在提交。我一直沿着调用堆栈向下到NeoStoreTransaction类,并观察executeModified方法处理命令,但我更改的字段没有在那里表示。