Jpa findAll与findAll在投影中与Crudepository发生冲突

Jpa findAll与findAll在投影中与Crudepository发生冲突,jpa,spring-data-jpa,spring-data-rest,Jpa,Spring Data Jpa,Spring Data Rest,登录 罗根唐尼 逻辑还原 我只想获取所有登录记录,并使用http://host/api/login. 但目前我遇到了与Crudepository的findAll的冲突。如何使用投影尽可能多地解决这个问题。我将@Query和@NamedQuery作为我的最后手段。findAll方法签名是: List<T> findAll(); 然后在请求url中使用其名称: GET http://host/api/login?projection=loginDateOnly 请参阅文档中的更多信息

登录

罗根唐尼

逻辑还原

我只想获取所有登录记录,并使用http://host/api/login. 但目前我遇到了与Crudepository的findAll的冲突。如何使用投影尽可能多地解决这个问题。我将@Query和@NamedQuery作为我的最后手段。

findAll方法签名是:

List<T> findAll();
然后在请求url中使用其名称:

GET http://host/api/login?projection=loginDateOnly

请参阅文档中的更多信息:

为此,您必须从LoginTanks中编写@QuerySelect*,但仍在尝试找出为什么仍返回其他属性,并且仅返回loginDate@LemuelNabong在@projection annotation和请求中检查投影的名称。它们必须匹配..完全相同,顺便说一句,我使用的是SpringBootStarter父级1.5.4。RELEASE@LemuelNabong没关系。尝试创建另一个更简单的投影,例如仅使用getId。然后打开Hibernate sql logging…我需要将Login始终放在与Login相同的包中,或者根据答案通过RepositoryRestConfiguration.ProjectOnConfiguration.addProjection…手动注册投影
@RepositoryRestResource(collectionResourceRel = "login", path = "login")
public interface LoginRepository extends PagingAndSortingRepository<Login, Long> {

    Collection<LoginDateOnly> findAll();

    /** Other query methods **/
}
List<T> findAll();
Collection<LoginDateOnly> findAllBy();
@Projection(name = "loginDateOnly", types = Login.class)
interface LoginDateOnly {
    //...
}
GET http://host/api/login?projection=loginDateOnly