title: spring-data neo4j: can't find node entity by related entity
body: <p>Using spring-data neo4j, I have 2 node entities: snippet and person. Each snippet has an author. Following are the classes and then the test that fails:</p>
  
  <pre><code>@NodeEntity
  public class SnippetLink {
      @GraphId
      @GeneratedValue
      Long id;
  
      @Fetch
      @RelatedTo(type = "AUTHORED")
      @Indexed
      PersonLink author;
  
      @RelatedToVia(type = SnippetRelation.DERIVED_FROM)
      SnippetLink parent;
  
      Long documentId;
  
      public SnippetLink() {
      }
  
      public SnippetLink(PersonLink author, Long documentId) {
          this.author = author;
          this.documentId = documentId;
      }
  
      public PersonLink getAuthor() {
          return author;
      }
  
      public void setAuthor(PersonLink author) {
          this.author = author;
      }
  
      public Long getDocumentId() {
          return documentId;
      }
  
      public void setDocumentId(Long documentId) {
          this.documentId = documentId;
      }
  
      public SnippetLink getParent() {
          return parent;
      }
  
      public void setParent(SnippetLink parent) {
          this.parent = parent;
      }
  
      public SnippetRelation fork(PersonLink author) {
          SnippetLink child = new SnippetLink(author, documentId);
          return new SnippetRelation(this, child, SnippetRelation.Type.Fork);
      }
  
      public SnippetRelation revision(Long documentId) {
          SnippetLink child = new SnippetLink(getAuthor(), documentId);
          return new SnippetRelation(this, child, SnippetRelation.Type.Revision);
      }
  }
  </code></pre>
  
  <p>.</p>
  
  <pre><code>@NodeEntity
  public class PersonLink {
      @GraphId
      Long id;
  
      String login;
  
      String firstName;
  
      String lastName;
  
      public PersonLink() {
      }
  
      public PersonLink(String login, String firstName, String lastName) {
          this.login = login;
          this.firstName = firstName;
          this.lastName = lastName;
      }
  
      public String getLogin() {
          return login;
      }
  
      public void setLogin(String login) {
          this.login = login;
      }
  
      public String getFirstName() {
          return firstName;
      }
  
      public void setFirstName(String firstName) {
          this.firstName = firstName;
      }
  
      public String getLastName() {
          return lastName;
      }
  
      public void setLastName(String lastName) {
          this.lastName = lastName;
      }
  }
  </code></pre>
  
  <p>.</p>
  
  <pre><code>public interface SnippetLinkRepository extends GraphRepository&lt;SnippetLink&gt;{
      Iterable&lt;SnippetLink&gt; findByAuthor(PersonLink author);
  }
  </code></pre>
  
  <p>.</p>
  
  <pre><code>PersonLink author = template.save(new PersonLink("johns", "John", "Smith"));
  
  SnippetLink snippet = template.save(new SnippetLink(author, -1L));
  
  SnippetRelation revisionRelation = snippet.revision(-2L);
  template.save(revisionRelation.getChild());
  template.save(revisionRelation);
  
  Iterable&lt;SnippetLink&gt; snippets = snippetLinkRepository.findByAuthor(author);
  assertThat(snippets).hasSize(2);
  </code></pre>