Java 解析findBy中的嵌套对象属性
我有一个实体Items,它与另一个实体ExceptionType上的字段具有多通关系。我想根据银行编号从Items实体返回项目列表,并根据ExceptionType实体返回itemExceptionType。我用的是Gradle 我一直遇到这样的错误:找不到类型项的属性exceptionType!数据库是大型机上的DB2 我只能按银行号码搜索,这将返回项目列表。当我尝试将异常类型添加到查询时,返回一个空列表-即使所有项都有异常类型 问题似乎是项上ExceptionType对象的解析。我已将查询简化为仅通过异常号查找,但仍然会得到错误。我尝试过使用findBy中的u进行各种组合,但没有成功,例如findBy_ExceptionTypeExceptionNumber、findbyeExceptionType_ExceptionNumber等。。它们都返回相同的错误 当我使用类型项目的_ExceptionTypei acutally get:No property _ExceptionType时! 因此,无论是否使用u,它都无法解析嵌套对象/属性Java 解析findBy中的嵌套对象属性,java,spring-boot,Java,Spring Boot,我有一个实体Items,它与另一个实体ExceptionType上的字段具有多通关系。我想根据银行编号从Items实体返回项目列表,并根据ExceptionType实体返回itemExceptionType。我用的是Gradle 我一直遇到这样的错误:找不到类型项的属性exceptionType!数据库是大型机上的DB2 我只能按银行号码搜索,这将返回项目列表。当我尝试将异常类型添加到查询时,返回一个空列表-即使所有项都有异常类型 问题似乎是项上ExceptionType对象的解析。我已将查询简
@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);
我需要它返回一个包含所提供的异常号的项目列表。但是,我得到了属性引用错误。据我所知,您正在使用Spring数据。我建议如下: 让您的AdhorRepository接口从JpaRepository扩展,并将自定义回购方法的签名更改为以下内容
@Repository
public interface AdHocRepository extends JpaRepository<Items, Long> {
List<Items> findByItemExceptionTypeExceptionNumber(String exceptionTypeNumber);
}
请注意自定义回购方法的命名:
找到了