相关疑难解决方法(0)

Spring Data JPA:使用 Pageable 但使用实体的一组特定字段

我正在使用Spring Data2.0.6.RELEASE。

我正在为性能和演示目的进行分页。这里关于性能我说的是如果我们有很多记录最好通过页面显示它们

我有以下内容并且工作正常:

interface PersonaDataJpaCrudRepository extends PagingAndSortingRepository<Persona, String> {
}
Run Code Online (Sandbox Code Playgroud)

@Controller与正常工作:

@GetMapping(produces=MediaType.TEXT_HTML_VALUE)
public String findAll(Pageable pageable, Model model){
Run Code Online (Sandbox Code Playgroud)

通过Thymeleaf我能够应用分页。因此,直到这里目标已经完成。

注:Persona类都被注解JPA@EntityId,等)

现在我关心以下问题:即使分页工作Spring Data的记录数量大约是多少,每条记录的内容呢?。

我的意思是:让我们假设Persona类包含20场(考虑为您的应用程序,你想要的任何实体),从而为基于视图中的html其中一个报告只使用4个领域(ID,名字,姓氏,日期),因此,我们有16个不必要的字段对于内存中的每个实体

我尝试了以下方法:

interface PersonaDataJpaCrudRepository extends PagingAndSortingRepository<Persona, String> {

    @Query("SELECT p.id, id.nombre, id.apellido, id.fecha FROM Persona p")
    @Override
    Page<Persona> findAll(Pageable pageable);

}
Run Code Online (Sandbox Code Playgroud)

如果我在里面做一个简单的打印,@Controller它会失败关于以下内容:

java.lang.ClassCastException: 
[Ljava.lang.Object; cannot be …
Run Code Online (Sandbox Code Playgroud)

jpa spring-data spring-data-jpa

0
推荐指数
1
解决办法
1910
查看次数

标签 统计

jpa ×1

spring-data ×1

spring-data-jpa ×1