私はSpring Data JPAを使用しており、JPASpecificationExecutor<Contact>
を使用するPagingAndSortingRepository<Contact, Long>
があります。このリポジトリの.findAll()
メソッドにSpecification
とPageable
インスタンスを渡して、Page<Contact>
を取得します。Springデータの変換タイプJPAページコンテンツ
しかし、私のContact
エンティティには、フロントエンドには必要のない多くの余分なフィールドとマッピングがあります。だから、私はContactDto
には必要なフィールドだけが含まれており、Contact
からContactDto
に変換できるメソッドがあります。私はPage<ContactDto>
にPage<Contact>
を変換するには、この変換方法を使用しに行くかどう
private ContactDto convertToContactDto(Contact contact) {
//do the conversion
}
?
Page<Contact>
の内容を取得して、このような変換を行うことができます。
final Page<Contact> contactPage = pagingAndSortingContactRepository
.findAll(ContactSpecification.findByFirstNmLike(firstNm), pageable);
final Collection<ContactDto> contactDtos = contactPage.getContent()
.stream()
.map(this::convertToContactDto)
.collect(Collectors.toList());
しかし、その後、私はPage
の代わりにCollection
が残っています、と私はPage
の内容にそのCollection
を取得する方法がわかりません。これを行う方法はありますか?または、Page<Contact>
インスタンス自体でコンバージョンを呼び出す別の方法がありますか?
これはトリックをしました。新しいPageインスタンスを作成してオブジェクトをコピーするよりはるかに簡単です。 –
@Andrew convertToContactDtoのコードのサンプルをいくつか含めることができますか? –