Wenn Sie in einer jpa-Repository-Methode auslagerbar sind, gibt spring immer eine Page, nicht eine Liste zurück. Ich schlage vor, Sie haben eine Service-Methode, die die Repository-Methode aufruft und den Inhalt des Page-Ergebnisses in eine Liste extrahiert.
Also, wenn Ihre Repository-Methode ist also:
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface RecordRepository extends JpaRepository<Record, Integer>{
Page<Record> findAll(Pageable pageable);
}
dann können Sie eine Serviceklasse haben, die eine Methode hat, die die Repository-Methode aufruft
@Service
public class RecordService{
@Autowired
RecordRepository recordRepository;
public List<Record> findAll(PageRequest pageRequest){
Page<Record> recordsPage = recordRepository.findAll(pageRequest);
return recordsPage.getContent();
}
}
so in Ihrer Berufung Klasse statt telefonieren das Repository direkt können Sie einfach den Service nutzen. also:
public class MyRecordImpl{
@Autowired
RecordService recordService;
public void doSomething(){
int page = 0; int pageSize = 5;
List<Record> recordList = recordService.findAll(new PageRequest(page, pageSize, new Sort(Sort.Direction.DESC, "recordId")));
//do other implementations here
}
}
aber die '.getContent()' nicht alle alles Rückkehr aus die Seiten oder nur die Daten dieser einzelnen Seite? – mmcrae
@mmcrae die .getContent() gibt nur die Daten dieser einzelnen Seite zurück – Sohlowmawn
Wie man alles von allen Seiten erhält und sie in Liste umwandelt? – gavinSong