title: @RepositoryRestResource's collectionResourceRel attribute not being obeyed
body: <p>I have a MongoRepository of</p>
  
  <pre><code>@RepositoryRestResource(collectionResourceRel = "tools")
  public interface ToolRepository extends MongoRepository&lt;Tool, Long&gt;
  </code></pre>
  
  <p>Tool can be one of 2 implementations:</p>
  
  <pre><code>public class Screwdriver extends Tool
  public class Hammer extends Tool
  </code></pre>
  
  <p>Tool is mapped using @JsonTypeInfo</p>
  
  <pre><code>@JsonTypeInfo(use = 
  com.fasterxml.jackson.annotation.JsonTypeInfo.Id.CLASS, include = 
  As.PROPERTY, property = "_class")
  public abstract class Tool
  </code></pre>
  
  <p>When I do <code>toolRepository.findAll()</code> this returns a JSON response of :</p>
  
  <pre><code>{
    "_embedded" : {
      "screwdrivers" : [ {
        "name" : "Screwdriver",
        ...
      } ],
      "hammers" : [ {
        "name" : "Hammer",
        ...
        }
   }
  </code></pre>
  
  <p>Expected response should be :</p>
  
  <pre><code>{
    "_embedded" : {
      "tools" : [ {
        "name" : "Screwdriver",
        ...
        },
        {
        "name" : "Hammer",
        ...
        }
   }
  </code></pre>
  
  <p>The <code>collectionResourceRel</code> is not being obeyed for classes with Json mapping data in.</p>
  
  <p>Investigating further; <code>PersistentEntitiesResourceMapping.getMetadataFor()</code> (within Spring) is saying make sure that if there's no entry for these subclasses of tool inside the ResourceMetadata cache then use a <code>TypeBasedCollectionResourceMapping</code> which results in each class having its own entry in the json response.</p>
  
  <p><strong>Is there a way of telling Spring data rest that a specific subclass should be bound to a specific repository, in this case is there a way of telling Spring data rest that Screwdriver is part of the <code>ToolRepository</code> and therefore should use the <code>collectionResourceRel</code> of this repository?</strong></p>