远程使用带有Spring数据Neo4j的Neo4j服务器时,不会保存数据
我使用spring-data-neo4j创建了一个Maven项目。我还安装了独立的Neo4j服务器社区版2.3.3。我试图将一些顶点对象保存到数据库中,然后简单地检索它们以检查一切是否正常。然后,我希望能够在独立服务器中打开创建的数据库,以实现更好的可视化。 我正在使用作为依赖项:远程使用带有Spring数据Neo4j的Neo4j服务器时,不会保存数据,spring,neo4j,spring-data-neo4j-4,Spring,Neo4j,Spring Data Neo4j 4,我使用spring-data-neo4j创建了一个Maven项目。我还安装了独立的Neo4j服务器社区版2.3.3。我试图将一些顶点对象保存到数据库中,然后简单地检索它们以检查一切是否正常。然后,我希望能够在独立服务器中打开创建的数据库,以实现更好的可视化。 我正在使用作为依赖项: <dependency> <groupId>org.springframework</groupId> <ar
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-neo4j</artifactId>
<version>4.0.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
我的点头看起来像:
@NodeEntity
public class Vertex {
private String name;
@GraphId
private Long id;
@Relationship(type = "PAIRS_WITH", direction = "UNDIRECTED")
public Set<Vertex> teammates;
public Vertex() { }
// getters, setters, equals, toString
}
非常感谢您的帮助 您正在混合使用嵌入式和远程服务器 您应该在远程服务器中查找数据 此外,您必须已禁用auth才能在服务器中工作,或者必须向配置文件提供用户名(neo4j)和密码
不要在服务器使用的同一目录上启动嵌入式数据库我设法解决了我的问题。配置很好,问题是我试图设置@NodeEntity对象的id属性。即使删除@GraphId属性,顶点也不会保存。解决了相同的问题。
有人提到:“如果该字段仅命名为'id',则不必使用@GraphId对其进行注释,因为OGM将自动使用它。”
如果文档中有某种警告/错误消息或更明确地提到您不能设置id(),并且如果您这样做,节点将不会保存在数据库中,那就太好了。希望这能节省一些时间 嵌入式数据库未使用与服务器相同的位置。服务器的密码是root,用户是neo4j,正如我在config类App中指定的那样。我注释掉了嵌入的db部分。但我也有同样的行为。没有数据写入数据库。我是否必须在代码中指定服务器使用的目录的名称和位置?或者将它指向localhost:7474,并在我尝试写入时启动服务器(如我现在所做的那样),这就足够了吗?
@NodeEntity
public class Vertex {
private String name;
@GraphId
private Long id;
@Relationship(type = "PAIRS_WITH", direction = "UNDIRECTED")
public Set<Vertex> teammates;
public Vertex() { }
// getters, setters, equals, toString
}
@Repository
public interface VertexRepository extends GraphRepository<Vertex> {
Vertex findByName(String name);
List<Vertex> findByTeammatesName(String name);
}
@Service
public class VertexServiceImpl implements VertexService {
@Autowired
private VertexRepository vertexRepository;
@Override
@Transactional
public Vertex create(Vertex vertex) {
return vertexRepository.save(vertex);
}
@Override
@Transactional
public Iterable<Vertex> findAll() {
return vertexRepository.findAll();
}
//....
}
@RestController
@RequestMapping("/api/")
public class GraphController {
@Autowired
VertexService vertexService;
@RequestMapping(value = "addvertex", method = RequestMethod.GET)
public void add() {
Vertex v = new Vertex();
v.setId(1l);
v.setName("name");
Vertex v2 = new Vertex();
v2.setId(2l);
v.worksWith(v2);
vertexService.create(v);
}
@RequestMapping(value = "all", method = RequestMethod.GET)
public Iterable<Vertex> getAll() {
return vertexService.findAll();
}
}
2016-03-26 14:25:15.716+0000 INFO [o.n.k.i.DiagnosticsManager] Interface Microsoft Wi-Fi Direct Virtual Adapter-WFP 802.3 MAC Layer LightWeight Filter-0000:
2016-03-26 14:25:15.716+0000 INFO [o.n.k.i.DiagnosticsManager] --- INITIALIZED diagnostics END ---
2016-03-26 14:25:15.747+0000 INFO [o.n.k.i.DiagnosticsManager] --- STOPPING diagnostics START ---
2016-03-26 14:25:15.747+0000 INFO [o.n.k.i.DiagnosticsManager] --- STOPPING diagnostics END ---
2016-03-26 14:25:15.747+0000 INFO [o.n.k.i.f.GraphDatabaseFacade] Shutdown started