java.lang.ClassCastException: au.com.parcelpoint.domain.batch.JobEntity cannot be cast to au.com.parcelpoint.domain.batch.projection.JobProjection
Трассировка стека указывает на эту строку:
JobProjection jobProjection
jobRepository.findSummaryByIdAndRetailerId(jobId, retailerId);
Я пытаюсь уменьшить поля, необходимые в простой проекции для фактического персистентного объекта. Мой проекционный объект называется JobProjection, а мой персистентный объект - JobEntity.
Это мой класс JobProjection:
@Projection(
name = "jobProjection",
types = { JobEntity.class })
public interface JobProjection {
@Value("#{target.id}")
Long getId();
@Value("#{target.status}")
JobEntity.Status getStatus();
@Value("#{target.batches}")
List<BatchEntity> getBatches();
@Value("#{target.createdOn}")
Date getCreatedOn();
@Value("#{target.retailerId}")
Long getRetailerId();
}
Это мой класс JobRepository (сжатый):
@RepositoryRestResource(excerptProjection = JobProjection.class)
public interface JobRepository extends CrudRepository<JobEntity, Long>, JobCustom {
JobProjection findSummaryByIdAndRetailerId(Long jobId, Long retailerId);
}