У меня есть объект Items, который имеет отношение ManyToOne к полю другого объекта ExceptionType. Я хочу вернуть список товаров на основе номера банка (из сущности Items) и itemExceptionType (из сущности ExceptionType). Я использую Gradle.
Я получаю эту ошибку: не найдено свойство exceptionType для типа Items! База данных - DB2 на мэйнфрейме.
Я могу искать только по номеру банка, и это возвращает список элементов. Когда я пытаюсь добавить тип исключения в запрос, возвращается пустой список - даже если ВСЕ элементы имеют тип исключения.
Кажется, проблема заключается в разрешении объекта ExceptionType для элементов. Я упростил запрос, чтобы найти только номер исключения, но я все еще получаю сообщение об ошибке. Я пробовал различные комбинации, используя _ в findBy, но безуспешно (например, findBy_ExceptionTypeExceptionNumber, findByExceptionType_ExceptionNumber и т. Д.). Все они возвращают одну и ту же ошибку.
Когда я использую _ExceptionType, я точно получаю: не найдено свойство _ExceptionType для типа Items!
Так что с _ или без _ он не может разрешить вложенный объект / свойство
@Entity
@Data
public class Items {
@Id
private String itemKey;
private String bankNbr;
private BigDecimal itemAmount;
private String itemPosPayInd;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "ITEM_EXCEPTION_TYPE", insertable = false, updatable = false)
private ExceptionType itemExceptionType;
@Entity
@Data
public class ExceptionType {
private String exceptionTypeValue;
@Id
private String exceptionNumber;
public class AdHocController {
@Autowired
AdHocService adHocService;
@GetMapping(value = "/adhoc-bank-exception/")
@ResponseBody
public ResponseEntity<List<Items>> getAdHocItemsByBankException(@RequestParam String bankNbr, @RequestParam (required = false) ExceptionType itemExceptionType) {
List<Items> itemsList = adHocService.getAdHocItemsByBankException(bankNbr, itemExceptionType);
log.debug("Getting getAdHocItemsByBankException");
return new ResponseEntity<>(itemsList, HttpStatus.OK);
}
@Service
public class AdHocService {
@Autowired
private AdHocRepository adHocRepository;
public List<Items> getAdHocItemsByBankException(String bankNbr, ExceptionType itemExceptionType) {
return adHocRepository.findBy_ExceptionTypeExceptionNumber(itemExceptionType);
}
@Repository
public interface AdHocRepository extends CrudRepository<Items, Long> {
List<Items> findBy_ExceptionTypeExceptionNumber(ExceptionType exceptionNumber);
Мне нужно, чтобы он возвратил список Предметов, которые все содержат предоставленный номер исключения. Однако я получаю ошибку ссылки на свойство.