spring数据neo4j图形库无法正常工作

时间:2017-12-28 14:55:16

标签: java spring spring-data-neo4j

我是Spring数据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

1 个答案:

答案 0 :(得分:1)

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

旧版本中曾出现GraphRepository。你依赖spring-boot 2.0.0.M7,它过渡依赖于SDN 5。

如果您的IDE识别出GraphRepository,那么项目设置中会出现另一个问题。