У меня есть модель, которая выглядит так:
@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Sale {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToOne(targetEntity = User.class)
private User customer;
@OneToOne(targetEntity = Product.class)
private Product product;
}
И у меня есть хранилище подкачки и сортировки, вот так:
public interface SaleRepository extends PagingAndSortingRepository<Sale, Long> {}
Но я бы хотел использовать метод findAll для репозитория, чтобы возвращать пользовательский класс с определенными полями (вместо всех данных вложенных объектов), при этом сохраняя возможности подкачки и сортировки. Список объектов, которые я хотел бы вернуть, будет содержать что-то вроде:
- SaleID
- CUSTOMERID
- CUSTOMERNAME
- PRODUCTID
- ProductName
- prouctPrice
Но я не уверен, как на самом деле это сделать.
Мой метод контроллера принимает параметры сортировки и подкачки и затем делает это:
Page<Sale> saleList = saleRepository.findAll(pageable);
return saleList;