使用 Spring 数据的 FindBy 方法出现问题
Trouble With FindBy Method using Spring data
我有一个 Neo4J 数据库,其中包含标签为 "Company" 且名称属性为:
的节点
neo4j-sh (?)$ match (n:Company {name:"SmallCo"}) return n;
+--------------------------+
| n |
+--------------------------+
| Node[16]{name:"SmallCo"} |
+--------------------------+
1 row
我正在尝试使用 Spring 数据制作 Web 应用程序。
我的仓库class:
@RepositoryRestResource(collectionResourceRel = "companies", path = "companies")
public interface CompanyRepository extends GraphRepository<Company> {
Company findByName(@Param("name") String name);
...
公司域对象class:
@JsonIdentityInfo(generator=JSOGGenerator.class)
@NodeEntity
public class Company {
@GraphId Long id;
String name;
public String getName() {
return name;
}
服务class:
@Service
@Transactional
public class InfoService {
@Autowired CompanyRepository companyRepository;
主要:
@Configuration
@Import(MyNeo4jConfiguration.class)
@RestController("/")
public class SampleApplication extends WebMvcConfigurerAdapter {
public static void main(String[] args) throws IOException {
final Logger logger = LoggerFactory.getLogger(Neo4jConfiguration.class);
SpringApplication.run(SampleApplication.class, args);
}
@Autowired
InfoService infoService;
但是,当我 运行 应用程序时,此查询没有 return 任何内容:
http://localhost:8080/companies/search/findByName?name=SmallCo
如果我 运行 它通过调试器,查询方法会抛出 NullPointerException。我在这里错过了什么?
编辑:
我在控制台上看到这个警告:
14:17:28.432 [main] WARN o.s.d.n.m.Neo4jPersistentProperty - Owning ClassInfo is null for field: java.lang.String main.java.info.spring.data.neo4j.domain.Company.name and propertyDescriptor: org.springframework.beans.GenericTypeAwarePropertyDescriptor[name=name]
堆栈跟踪没有帮助 - 它只是 []
问题是我忘记在 SessionFactory 构造函数的配置 class 中更新包名称。
我有一个 Neo4J 数据库,其中包含标签为 "Company" 且名称属性为:
的节点neo4j-sh (?)$ match (n:Company {name:"SmallCo"}) return n;
+--------------------------+
| n |
+--------------------------+
| Node[16]{name:"SmallCo"} |
+--------------------------+
1 row
我正在尝试使用 Spring 数据制作 Web 应用程序。
我的仓库class:
@RepositoryRestResource(collectionResourceRel = "companies", path = "companies")
public interface CompanyRepository extends GraphRepository<Company> {
Company findByName(@Param("name") String name);
...
公司域对象class:
@JsonIdentityInfo(generator=JSOGGenerator.class)
@NodeEntity
public class Company {
@GraphId Long id;
String name;
public String getName() {
return name;
}
服务class:
@Service
@Transactional
public class InfoService {
@Autowired CompanyRepository companyRepository;
主要:
@Configuration
@Import(MyNeo4jConfiguration.class)
@RestController("/")
public class SampleApplication extends WebMvcConfigurerAdapter {
public static void main(String[] args) throws IOException {
final Logger logger = LoggerFactory.getLogger(Neo4jConfiguration.class);
SpringApplication.run(SampleApplication.class, args);
}
@Autowired
InfoService infoService;
但是,当我 运行 应用程序时,此查询没有 return 任何内容:
http://localhost:8080/companies/search/findByName?name=SmallCo
如果我 运行 它通过调试器,查询方法会抛出 NullPointerException。我在这里错过了什么?
编辑:
我在控制台上看到这个警告:
14:17:28.432 [main] WARN o.s.d.n.m.Neo4jPersistentProperty - Owning ClassInfo is null for field: java.lang.String main.java.info.spring.data.neo4j.domain.Company.name and propertyDescriptor: org.springframework.beans.GenericTypeAwarePropertyDescriptor[name=name]
堆栈跟踪没有帮助 - 它只是 []
问题是我忘记在 SessionFactory 构造函数的配置 class 中更新包名称。