1抹蚀、bug原因
數(shù)據(jù)庫(kù)中主鍵值為空容劳,就會(huì)出現(xiàn)使用hibernate查詢出的數(shù)據(jù)為空硫椰,或者數(shù)據(jù)和第一條一樣
出現(xiàn)原因:前期表中已經(jīng)有值沒(méi)有給表加主鍵
2制跟、 解決辦法
數(shù)據(jù)庫(kù)中加上觸發(fā)器和序列(數(shù)據(jù)庫(kù)中主鍵不能為空)
3铜邮、code
controller
@GetMapping
@Log("查詢xxx")
@ApiOperation("查詢xxx")
@PreAuthorize("@el.check('xxx')")
public ResponseEntity<Object> query(QueryCriteria criteria, Pageable pageable){
return new ResponseEntity<>(xxxxxService.queryAll(criteria,pageable),HttpStatus.OK);
}
service
/**
* 查詢數(shù)據(jù)分頁(yè)
* @param criteria 條件
* @param pageable 分頁(yè)參數(shù)
* @return Map<String,Object>
*/
Map<String,Object> queryAll(QueryCriteria criteria, Pageable pageable);
serviceImpl
@Override
public Map<String,Object> queryAll(QueryCriteria criteria, Pageable pageable){
Page<xxx> page = xxxRepository.findAll((root, criteriaQuery, criteriaBuilder) -> QueryHelp.getPredicate(root,criteria,criteriaBuilder),pageable);
return PageUtil.toPage(page.map(xxxMapper::toDto));
}
注意:實(shí)體類id要有 @GeneratedValue(strategy = GenerationType.IDENTITY)這個(gè)注解