Neo4j 为EmbeddedGraphDatabase配置TypeRepresentationStrategy
我无法配置TypeRepresentationStrategy,原因如下: 未能将“org.neo4j.kernel.EmbeddedGraphDatabase”类型的值转换为所需类型“org.springframework.data.neo4j.core.GraphDatabase” 我使用Spring-Data-Neo4j 3.1.4和Neo4j 2.1.2 这是因为我在spring上下文配置中定义的graphDatabaseService实例是EmbeddedGraphDatabase类型,请参阅我的配置:Neo4j 为EmbeddedGraphDatabase配置TypeRepresentationStrategy,neo4j,spring-data-neo4j,Neo4j,Spring Data Neo4j,我无法配置TypeRepresentationStrategy,原因如下: 未能将“org.neo4j.kernel.EmbeddedGraphDatabase”类型的值转换为所需类型“org.springframework.data.neo4j.core.GraphDatabase” 我使用Spring-Data-Neo4j 3.1.4和Neo4j 2.1.2 这是因为我在spring上下文配置中定义的graphDatabaseService实例是EmbeddedGraphDatabase类型
<util:map id="config">
<entry key="remote_shell_enabled" value="true"/>
<entry key="cache-type" value="weak"/>
</util:map>
<bean id="graphDbFactory" class="org.neo4j.graphdb.factory.GraphDatabaseFactory"/>
<bean id="graphDbBuilder" factory-bean="graphDbFactory" factory-method="newEmbeddedDatabaseBuilder">
<constructor-arg value="target/neo4j-db-plain"/>
</bean>
<bean id="graphDbBuilderFinal" factory-bean="graphDbBuilder" factory-method="setConfig">
<constructor-arg ref="config"/>
</bean>
<bean id="graphDatabaseService" factory-bean="graphDbBuilderFinal" factory-method="newGraphDatabase"
destroy-method="shutdown"/>
<bean id="serverWrapper" class="org.neo4j.server.WrappingNeoServerBootstrapper" init-method="start"
destroy-method="stop">
<constructor-arg ref="graphDatabaseService"/>
</bean>
<neo4j:config base-package="com.hobbydeed.graph.model" graphDatabaseService="graphDatabaseService" />
<bean id="typeRepresentationStrategyFactory" class="org.springframework.data.neo4j.support.typerepresentation.TypeRepresentationStrategyFactory">
<constructor-arg index="0" ref="graphDatabaseService"/>
<constructor-arg type="org.springframework.data.neo4j.support.typerepresentation.TypeRepresentationStrategyFactory.Strategy">
<value>Indexed</value>
</constructor-arg>
</bean>
问题是,当org.neo4j.kernel.EmbeddedGraphDatabase实现org.neo4j.graphdb.GraphDatabaseService时,如何将TypeRepresentation配置为索引,但是TypeRepresentationFactory想要org.springframework.data.neo4j.core.GraphDatabase?有一个NodeTypeRepresentationStrategybean,您可以用选择的策略覆盖它
对于您所使用的策略工厂,您可以只使用graphDatabase bean引用
或者使用DelegatingGraphDatabasegraphDatabaseService作为默认graphDatabase的bean