Я пытаюсь реализовать нумерацию страниц в своем проекте. нумерация страниц работает нормально, если я делаю нумерацию страниц, используя pageOffset и pageSize. но когда я пытаюсь использовать функцию сортировки, она не может обработать данные и выдает
org.springframework.data.mapping.PropertyReferenceException: не найден запрос свойства для типа InstituteSmsAllocationHistory!
Я попытался изменить имя переменной разными способами и обнаружил, что если я оставлю имя как «идентификатор запроса», ошибка изменится на
org.springframework.data.mapping.PropertyReferenceException:Не найдено идентификатора запроса свойства для типа InstituteSmsAllocationHistory! Вы имели в виду 'request_id'?
, но я не знаю, как заставить его понять, что я хочу отсортировать по request_id
Я не хочу менять структуру моегопроект для верблюжьего дела из змеиного дела.
Пожалуйста, найдите мой код ниже: InstituteSmsAllocationHistory.java (Entity)
package com.proc.admin.rest.model;
import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.proc.common.entity.AuditableEntity;
import com.proc.common.entity.Institution;
import lombok.Getter;
import lombok.Setter;
@Entity
@Table(name = "tab_inst_sms_allocation_hist")
@Getter
@Setter
public class InstituteSmsAllocationHistory extends AuditableEntity<String> implements Serializable {
/**
*
*/
private static final long serialVersionUID = -4218076388772964964L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int request_id;
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "institution_id")
private Institution institution_id;
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "sms_plan_id")
private SMSPlanMaster sms_plan_id;
private int sms_quota_allocated;
private String quota_type;
private String reason;
}
InstituteSmsAllocationHistoryController.java (Controller)
@GetMapping(value = HISTORY + ALL)
public ResponseEntity<PageResponseEntity<InstituteSmsAllocationHistory>> getSmsAllocationHistory(@RequestParam(defaultValue = "1") int pageOffset,
@RequestParam(defaultValue = "10") int pageSize,
@RequestParam(defaultValue = "request_id") String sortBy) {
return RestResponseConverterUtil.sucess(smsPlanMasterService.getAllSmsHistory(pageOffset - 1, pageSize, sortBy));
}
InstituteSmsAllocationHistoryServiceImpl.java (Служба)
@Override
public PageResponseEntity<InstituteSmsAllocationHistory> getAllSmsHistory(int pageOffset, int pageSize, String sortBy) {
Pageable pageable = PageRequest.of(pageOffset, pageSize, Sort.by("request_id"));
Page<InstituteSmsAllocationHistory> page = instituteSmsAllocationHistoryDao.findAll(pageable);
PageResponseEntity<InstituteSmsAllocationHistory> pageList = new PageResponseEntity<InstituteSmsAllocationHistory>(page.getContent(), ++pageOffset, pageSize, sortBy, page.getTotalElements());
return pageList;
}
Пожалуйста, дайте мне знать, если вам нужно что-то кроме этого.
Спасибо!