Skip to content

Query fails after upgrading from 3.4.2 -> 3.4.3 #3797

Closed as duplicate of#3784
Closed as duplicate of#3784
@kevinm416

Description

@kevinm416

I think this is a very basic query that shouldn't have any behavior changes:

  @Query(
      """
        SELECT DISTINCT u
        FROM UserBE u
        JOIN u.tenantRoles tr
        WHERE tr.tenantId = :tenantId
          AND (:usernameFilter IS NULL or u.username LIKE :usernameFilter)
      """)
  Page<UserBE> findByTenantId(
      @Param("tenantId") long tenantId,
      @Param("usernameFilter") @Nullable String usernameFilter,
      Pageable pageable);

After the upgrade, I get this error when running it:

Caused by: org.springframework.dao.InvalidDataAccessResourceUsageException: No argument for named parameter ':usernameFilter_1'
	at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:298)
	at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:241)
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:560)
	at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61)
	at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:343)
	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:160)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:136)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:223)

Is there a starter project I could clone to provide a failing test case? The hibernate project does this and it makes reporting issues very simple.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions