title: No converter found capable of converting from type to type
body: <h2>I am getting the following stacktrace:</h2>
  
  <pre><code>org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [referencedata.ABDeadlineType] to type [referencedata.DeadlineType]
      at org.springframework.core.convert.support.GenericConversionService.handleConverterNotFound(GenericConversionService.java:324)
      at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:206)
      at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java:187)
      at org.springframework.data.repository.query.ResultProcessor$ProjectingConverter.convert(ResultProcessor.java:256)
      at org.springframework.data.repository.query.ResultProcessor$ChainingConverter$1.convert(ResultProcessor.java:201)
      at org.springframework.data.repository.query.ResultProcessor$ChainingConverter.convert(ResultProcessor.java:212)
      at org.springframework.data.repository.query.ResultProcessor.processResult(ResultProcessor.java:149)
      at org.springframework.data.jpa.repository.query.AbstractJpaQuery.doExecute(AbstractJpaQuery.java:121)
      at org.springframework.data.jpa.repository.query.AbstractJpaQuery.execute(AbstractJpaQuery.java:106)
      at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:483)
      at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:461)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:56)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
      at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
      at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:133)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:57)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
      at com.sun.proxy.$Proxy143.findAllSummarizedBy(Unknown Source)
      at 
  </code></pre>
  
  <h2>My classes are the following</h2>
  
  <p><strong>DeadlineType</strong> </p>
  
  <pre><code>@Data
  public class DeadlineType extends DefaultIdAndText {
      @Value("#{target.id}")
      String id;
  
      @Value("#{target.code}")
      String text;
  
      @Value("#{target.id}")
      public String getId() {
          return id;
      }
  
      @Value("#{target.code}")
      public String getText() {
          return text;
      }
  
  }
  </code></pre>
  
  <p><strong>ABDeadlineType</strong></p>
  
  <pre><code>@Data
  @Entity
  @Table(name = "deadline_type")
  @AllArgsConstructor
  @NoArgsConstructor
  public class ABDeadlineType {
  
      private @Id
      String id;
      private String code;
  }
  </code></pre>
  
  <p><strong>DefaultIdAndText</strong> </p>
  
  <pre><code>@Data @AllArgsConstructor
  @NoArgsConstructor
  public class DefaultIdAndText implements IdAndText {
  
      public DefaultIdAndText(IdAndText idAndText){
          this.id = idAndText.getId();
          this.text = idAndText.getText();
      }
  
      @NotEmpty String id;
      String text;
  }
  </code></pre>
  
  <p><strong>DeadlineTypeRepository</strong> </p>
  
  <pre><code>public interface DeadlineTypeRepository extends JpaRepository&lt;ABDeadlineType, Long&gt; {
      List&lt;DeadlineType&gt; findAllSummarizedBy();
  }
  </code></pre>
  
  <h2>Update</h2>
  
  <p>Could it be an issue that the projection/mapping using <code>@Value("#{target.id}")</code> format, does not work correctly because these have been done on a class and not on an interface???</p>