我做了一个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希望将代理类添加到我的界面中,但是当它想将此代理添加到列表或集合中时,这并不高兴,因为列表和集合不是接口而是类。
我该怎么办?