'Subsequent calls to JPA failing in SpringBoot

I'm trying to execute tests but only the first call to findBy() is successful. Running with Spring Boot v2.6.7, Spring v5.3.19, hibernate jar = 5.6.8.

   Application application = Application.builder()
                .appName("APP1")
                .productName("PRD1")
                .build();
        
   applicationDao.save(application);

   Application app1 = applicationDao.findByAppNameIgnoreCaseAndProductNameIgnoreCaseContaining("APP1","PRD");
        assertEquals("APP1", app1.getAppName());

   

The second calls fails in JUnit when called subsequently in the same JUnit test method

   Application app2= applicationDao.findByAppNameIgnoreCaseAndProductNameIgnoreCaseContaining("APP1","PRD");
        assertEquals("APP1", app2.getAppName());

Error:

org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value [APP1] did not match expected type [java.lang.Character (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [APP1] did not match expected type [java.lang.Character (n/a)]


Solution 1:[1]

Looks like a bug in hibernate. Worked after downgrading hibernate version.

implementation ('org.springframework.boot:spring-boot-starter-data-jpa'){
    exclude group: "org.hibernate", module: "hibernate-core"
}
implementation "org.hibernate:hibernate-core:5.6.5.Final"

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Sree