无法返回投影的列表/集合

时间:2019-03-12 09:39:45

标签: spring-boot jpa spring-data-rest projection

我做了一个spring-boot项目来访问我的数据。

我的主要班级是Patient.java:

@Entity
public class Patient {
    private Long id;
    private String numeroSs;
    private String profession;
// lot of stuff...., getters, setters, ...
}

为了改进我的要求,我对班级“病人”做了一个非常简单的投影。我称这个投影为PatientCustom:

public interface PatientCustom {
     String getNumeroSs();
     Timestamp getDateProchainRdv();
}

在存储库“ PatientRepo.java”中,我创建了两个自定义方法:

@Transactional
@RepositoryRestResource(collectionResourceRel = "patient", path = "patient")
public interface PatientRepo extends JpaRepository<Patient, Long> {
    PatientCustom findOneByNumeroSs(String numeroSs);
    Collection<PatientCustom> findByNumeroSs(String numeroSs);
}

当我使用第一种方法时,没问题:它返回一个PatientCustom:

{
numeroSs: "150505617017002",
dateProchainRdv: null
}

但是当我想要列表或集合时,它会向我发送错误消息:

{
cause: null,
message: "Couldn't find PersistentEntity for type class com.sun.proxy.$Proxy165!"
}

还有我终端中的痕迹:

2019-03-12 10:32:34.671 ERROR 2072 --- [nio-8090-exec-2] o.s.d.r.w.RepositoryRestExceptionHandler : Couldn't find PersistentEntity for type class com.sun.proxy.$Proxy165!
java.lang.IllegalArgumentException: Couldn't find PersistentEntity for type class com.sun.proxy.$Proxy165!
        at org.springframework.data.mapping.context.PersistentEntities.lambda$getRequiredPersistentEntity$2(PersistentEntities.java:96) ~[spring-data-commons-2.1.5.RELEASE.jar:2.1.5.RELEASE]
        at java.util.Optional.orElseThrow(Optional.java:290) ~[na:1.8.0_181]
        at org.springframework.data.mapping.context.PersistentEntities.getRequiredPersistentEntity(PersistentEntities.java:95) ~[spring-data-commons-2.1.5.RELEASE.jar:2.1.5.RELEASE]

我非常了解spring希望将代理类添加到我的界面中,但是当它想将此代理添加到列表或集合中时,这并不高兴,因为列表和集合不是接口而是类。

我该怎么办?

0 个答案:

没有答案