For a Spring Boot project that used to work well with Hibernate 5
, I try to upgrade Hibernate to version 6.
Now, when I run a @Query statement that uses an enumeration, I get this weird error:
java.lang.NullPointerException:
Cannot invoke "org.hibernate.metamodel.mapping.JdbcMapping.getJdbcValueBinder()"
because "jdbcMapping" is null
The error above happens only when I try to compare enums, for other basic types Hibernate works as expected.
The query is something like:
@Query("from SomeEntity r "+
+ "where r.enum_field = :#{#criteria.enum_field})")
Page<SomeEntity> search(@Param("criteria") TheCriteria criteria, Pageable pageable)
The entities look like this:
@Entity
@Table(name = "...")
@Getter
@Setter
public class SomeEntity {
...
@Column(name = "ENUM_FIELD")
@Enumerated(EnumType.STRING)
private TheEnumType enum_field;
...
}
Criteria looks like this:
@Data
public class TheCriteria {
private TheEnumType enum_type;
}
Does anybody know what might be wrong?