AssetItemDto具有字段名称和代码,我希望查找DB中符合以下任一条件的所有记录
- FindAll,其中名称=“A”和代码=“B”(如果名称和代码都存在且不为空)
- FindAll,其中name =“A”(如果name存在,并且code为空),反之亦然。
如何使用条件查询实现相同的功能,请填写以下函数。
AssetItemDto
private String name;
private String code;
// Function I am using:
Page<AssetItemDto> assetItemPage = assetItemService.findByCondition(assetItemDto,pageable);
public Page<AssetItemDto> findByCondition(AssetItemDto assetItemDto , Pageable pageable) {
Page<AssetItem> entityPage = repository.findAll(assetItemDto,pageable);
List<AssetItem> entities = entityPage.getContent();
return new PageImpl<>(mapList(entities, AssetItemDto.class), pageable, entityPage.getTotalElements());
}
2条答案
按热度按时间pgky5nke1#
您可以使用存储库方法顶部的
@Query
注解向数据库表写入自定义查询。下面是根据您的条件编写的示例。您可以相应地修改方法名称和表名称。ogq8wdun2#
你在找这样的东西吗?