0
내가 좋아하는 쿼리가 있습니다. 때때로 다음과 같은 예외가 발생합니다.일치는 IllegalArgumentException
Description - Parameter with that name [bankIds] did not exist; nested exception is java.lang.IllegalArgumentException: Parameter with that name [bankIds] did not exist, StackTrace - java.lang.IllegalArgumentException: Parameter with that name [bankIds] did not exist
at org.hibernate.jpa.spi.BaseQueryImpl.findParameterRegistration(BaseQueryImpl.java:505)
at org.hibernate.jpa.spi.BaseQueryImpl.setParameter(BaseQueryImpl.java:631)
at org.hibernate.jpa.spi.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:180)
at org.hibernate.jpa.spi.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:49)
관찰
나는이 관찰에 추가 해요 방법을 잘 모르겠어요,하지만 난 무거운 데이터를 작은 있습니다 모듈 내부에서 사용될 때 서비스는 실패 할 것 같아요 측면 (심지어 여기에서는 때때로 실패합니다). 메모리 문제로 인해 이런 종류의 예외가 발생합니까?
일관성이 문제가 같은 개체에 다른 방법에 관찰되었다 :
@Query("select I from Indicator I where I.activityId in (:activityIds) ")
\t public List<Indicator> getIndicatorDetailsByActivityIdList(@Param("activityIds") Set<Long> acyIdList);
'bankIdList'가 비어 있거나'null '이면 어떤 오류가 발생합니까? – pirho
JPA는 인수로 emtpy 세트 또는 null을 허용하지만 저장소를 호출하여 원인을 파악하기 전에 bankIdsList를 기록합시다. –
@AndriySlobodyanyk 그래,'(: bankIds) '에 무엇이 할당 될지 궁금해서 전체적으로 쿼리가 어떻게 생겼는지 궁금 할 것입니다. JPQL/HQL에 익숙하지 않고 CriteriaQuery를 사용합니다. – pirho