java - Spring Data Neo4j 图形存储库不工作

标签 java spring spring-data-neo4j

我是 spring data neo4j 的新手,我对 GraphRepository 有一些错误/问题。

我首先有这个:

import guru.springframework.domain.Product;
import org.springframework.data.neo4j.repository.GraphRepository;
import org.springframework.data.neo4j.repository.Neo4jRepository;

public interface ProductRepository extends GraphRepository<Product> {

   Product findById(Long id);

    Product deleteById(Long id);
}

但是阅读一些文档,存储库已经提供了这样的方法。我不需要写它们。

这是我的产品域

import org.neo4j.ogm.annotation.GraphId;
import org.neo4j.ogm.annotation.NodeEntity;

import java.math.BigDecimal;


@NodeEntity
public class Product {

    @GraphId
    private Long id;
    private String description;
    private BigDecimal price;
    private String imageUrl;

    //getters and setters
}

这是我的测试课

   @Test
    public void testPersistence() {

        productRepository.deleteAll();
        //given
        Product product = new Product();
        product.setDescription(PRODUCT_DESCRIPTION);
        product.setImageUrl(IMAGE_URL);
        product.setPrice(BIG_DECIMAL_100);

        //when
        productRepository.save(product);

        //then
        Assert.assertNotNull(product.getId());

        //Product newProduct = productRepository.findById(product.getId()).orElse(null);


        Product newProduct = productRepository.findById(182L);

未检测到 findById

error

这正常吗?

这是我的 pom.xml

最佳答案

从 Spring Data Neo4j 5.x 开始,您应该扩展 Neo4jRepository 而不是 GraphRepository

GraphRepository 曾经出现在旧版本中。您依赖于 spring-boot 2.0.0.M7,它间接依赖于 SDN 5。

如果您的 IDE 能够识别 GraphRepository,那么您的项目设置中还有其他问题。

关于java - Spring Data Neo4j 图形存储库不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48009639/

相关文章:

java - 如何在 Neo4J/Spring 中创建与同一实体的不同关系?

spring - Neo4j with Spring - 最佳存储库设计

java - 无法使用 Java 通过 CLI 命令创建 Google 云数据流模板

java - LinkIN API OAuth 在 ubuntu 中不起作用

java - 默认情况下,Spring Data REST 从 JSON 中隐藏技术实体字段(@Version、@Id)。如何像往常一样归还它们?

java - 在 springboot aws lambda 中注入(inject)服务

lucene - 在 Neo4j 上通过带有 html 标记的富文本进行全文搜索

java - Jackson 包括用户设置的空值?

java - 在 Java 中将 double 转换为字符串时出现奇怪的行为

java - 当涉及驱逐时,Spring 的缓存注解是否可以安全使用?