Java spring数据neo4j图形存储库不工作
我是SpringDataNeo4J的新手,我对GraphRespository有一些错误/问题 我第一次做这个:Java spring数据neo4j图形存储库不工作,java,spring,spring-data-neo4j,Java,Spring,Spring Data Neo4j,我是SpringDataNeo4J的新手,我对GraphRespository有一些错误/问题 我第一次做这个: import guru.springframework.domain.Product; import org.springframework.data.neo4j.repository.GraphRepository; import org.springframework.data.neo4j.repository.Neo4jRepository; public interface
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);
}
这是我的测试课
@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
这正常吗
这是我的
由于Spring数据Neo4j 5.x,您应该扩展Neo4j存储,而不是GraphRespository GraphRespository过去出现在旧版本中。您依赖于spring boot 2.0.0.M7,它过渡地依赖于SDN 5
如果IDE识别出GraphRespository,则项目设置中会出现另一个问题。您必须在ProductRepository中编写该方法。Spring数据将从您的方法名称中理解它需要执行的查询。您不需要编写查询,但需要像编写findById一样编写方法声明。。。。应该从测试类中识别它是的,我以前尝试过这种方法,但是当我执行测试时,我得到了一个NullException,并且我确实将该节点存储在182L中。在本教程中,他们有以下产品:newProduct=productRepository.findByIdproduct.getId.orelseull;但在我的情况下,orElse是不被认可的。这有助于避免例外情况吗?在这里可以看到文件第43行
@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);