如何在 Spring Boot with Hibernate 中查询实体的所有关系对象?

How to query for all relational objects of an entity in Spring Boot with Hibernate?

我的商店实体中有一个具有以下关系的实体:

@OneToMany(mappedBy="computer")
@JsonProperty("computers")
public Set<Computer> computers;

在我的商店服务中:

List<Computers> computers;
Pageable paging = PageRequest.of(page, size);
    
Page<Computers> pageTuts;
pageTuts = storeRepository.findAllComputers(paging);
    
computers = pageTuts.getContent();
    
Map<String, Object> response = new HashMap<>();
response.put("computers", computers);
response.put("current_page", pageTuts.getNumber());
response.put("total_items", pageTuts.getTotalElements());
response.put("total_pages", pageTuts.getTotalPages());

现在我需要以某种方式在我的 StoreRepository 界面中查询与该实体相关的所有计算机。我怎样才能做到这一点?我以为我可以添加这样的名称:

Page<Computers> findAllComputers(Pageable pageable);

有什么解决办法吗?我是否必须编写自定义查询或其他内容?我认为这个操作应该是某种标准,所以很难认为我会需要它。

您应该创建 ComputerRepository 并将这种方法添加到您的存储库 class。

public interface ComputerRepository extends PagingAndSortingRepository<Computer, Integer> {

    Page<Computers> findByStore(Store store, Pageable pageable);
}

这里是分页和排序的快速解释。

https://www.baeldung.com/spring-data-jpa-pagination-sorting