Spring Data Neo4j
  1. Spring Data Neo4j
  2. DATAGRAPH-232

Fix findBy{Property} autogenerated ctpher queries

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Invalid
    • Affects Version/s: 2.1.RC2
    • Fix Version/s: 2.1.RC2
    • Component/s: CORE
    • Labels:
      None

      Description

      After upgrading to:
      spring-data-neo4j - 2.1.0.BUILD-SNAPSHOT and neo4j - 1.7, on an DAO with the following method:
      Privilege findByName(final String name);
      I'm not getting:

      org.springframework.dao.InvalidDataAccessResourceUsageException: Error executing statement start `privilege`=node:_types_(className="com.geogrep.persistence.entity.Privilege") where `privilege`.`name`! =

      {0} return `privilege`; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: Error executing statement start `privilege`=node:_types_(className="com.geogrep.persistence.entity.Privilege") where `privilege`.`name`! = {0}

      return `privilege`; nested exception is org.neo4j.cypher.MissingIndexException: Index `_types_` does not exist
      at org.springframework.data.neo4j.support.query.CypherQueryEngine.query(CypherQueryEngine.java:56) ~[spring-data-neo4j-2.1.0.BUILD-20120504.181520-147.jar:na]
      at org.springframework.data.neo4j.repository.query.GraphRepositoryQuery.dispatchQuery(GraphRepositoryQuery.java:96) ~[spring-data-neo4j-2.1.0.BUILD-20120504.181520-147.jar:na]
      at org.springframework.data.neo4j.repository.query.GraphRepositoryQuery.execute(GraphRepositoryQuery.java:70) ~[spring-data-neo4j-2.1.0.BUILD-20120504.181520-147.jar:na]
      at org.springframework.data.neo4j.repository.query.DerivedCypherRepositoryQuery.execute(DerivedCypherRepositoryQuery.java:36) ~[spring-data-neo4j-2.1.0.BUILD-20120504.181520-147.jar:na]
      at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:313) ~[spring-data-commons-core-1.3.0.RC2.jar:na]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110) ~[spring-tx-3.1.1.RELEASE.jar:3.1.1.RELEASE]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
      at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:155) ~[spring-tx-3.1.1.RELEASE.jar:3.1.1.RELEASE]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
      at $Proxy52.findByName(Unknown Source) ~[na:na]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_04]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_04]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_04]
      at java.lang.reflect.Method.invoke(Method.java:601) ~[na:1.7.0_04]
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318) ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:196) ~[spring-aop-3.1.1.RELEASE.jar:3.1.1.RELEASE]
      at $Proxy53.findByName(Unknown Source) ~[na:na]
      at com.geogrep.persistence.service.privilege.PrivilegeService.findByName(PrivilegeService.java) ~[classes/:na]

      Being autogenerated, this worked just fine with the stable spring-data-neo4j version.
      Related to forum post: http://forum.springsource.org/showthread.php?126142-InvalidDataAccessResourceUsageException-on-simple-query-after-upgrade&p=411713#post411713

        Activity

        Hide
        Stacy Young added a comment -

        Ah I got snagged on this as well.

        Show
        Stacy Young added a comment - Ah I got snagged on this as well.
        Hide
        Michael Hunger added a comment -

        Hmm, the current version should make sure that the index is generated at startup, can you confirm that?

        Show
        Michael Hunger added a comment - Hmm, the current version should make sure that the index is generated at startup, can you confirm that?
        Hide
        RadimK added a comment -

        I have a superclass like this:

        public class NamedEntity {

        @Indexed
        private String name;

        public String getName()

        { return name; }

        public void setName(String name)

        { this.name = name; }

        }

        and then a subclass:

        @NodeEntity
        public class Role extends NamedEntity {

        }

        Then I have a repository defined:
        public interface RoleRepository extends GraphRepository<Role>,
        RelationshipOperationsRepository<Role>

        { Role getRoleByName(String name); }

        When I use the getRoleByName method of the repository, I get "MissingIndexException: Index `NamedEntity` does not exist". Could this be the same bug or am I doing something wrong? I am using the latest snapshot.

        Show
        RadimK added a comment - I have a superclass like this: public class NamedEntity { @Indexed private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } and then a subclass: @NodeEntity public class Role extends NamedEntity { } Then I have a repository defined: public interface RoleRepository extends GraphRepository<Role>, RelationshipOperationsRepository<Role> { Role getRoleByName(String name); } When I use the getRoleByName method of the repository, I get "MissingIndexException: Index `NamedEntity` does not exist". Could this be the same bug or am I doing something wrong? I am using the latest snapshot.
        Hide
        Lasse Westh-Nielsen added a comment -

        This seems to have been solved.

        Can you confirm whether this is still an issue?

        Show
        Lasse Westh-Nielsen added a comment - This seems to have been solved. Can you confirm whether this is still an issue?
        Hide
        Lasse Westh-Nielsen added a comment -

        Closed barring feedback

        Show
        Lasse Westh-Nielsen added a comment - Closed barring feedback

          People

          • Assignee:
            Lasse Westh-Nielsen
            Reporter:
            Eugen Paraschiv
          • Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: