如何在 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);
}
这里是分页和排序的快速解释。
我的商店实体中有一个具有以下关系的实体:
@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);
}
这里是分页和排序的快速解释。