最近、Neo4j()のSpring Dataで遊んでいてversion 2.1.0.BUILD-SNAPSHOT
、GraphRepositoryインターフェイスに関連する問題が発生しています。
次のように、メソッド名に含まれるプロパティを使用して、Tクラスのノードを検索するメソッドを記述できます。
public interface UserRepository extends GraphRepository<User> {
public User findByUsername(String username);
public User findById(Long id);
}
私のユーザークラス:
@NodeEntity
public class User {
@GraphId
Long id;
@Indexed
private String username;
private String password;
...
}
そして私のapplicationContext.xml:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:neo4j="http://www.springframework.org/schema/data/neo4j"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/data/neo4j
http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<context:spring-configured />
<context:annotation-config />
<context:component-scan base-package="package.for.services" />
<neo4j:repositories base-package="package.for.repositories" />
<neo4j:config graphDatabaseService="graphDatabaseService" />
<bean id="graphDatabaseService" class="org.neo4j.kernel.EmbeddedGraphDatabase"
destroy-method="shutdown" scope="singleton">
<constructor-arg value="/path/to/neo4j.db" />
<constructor-arg>
<map>
<entry key="allow_store_upgrade" value="true" />
</map>
</constructor-arg>
</bean>
</beans>
私の問題は、findById(Long id)
メソッドがその特定のIDを持つノードを返すが、その特定のユーザー名を持つノードの代わりにfindByUsername(String username)
返すことです。null
どんな助けでもありがたいです。