This was unsupported behavior that happened to work in Hibernate 5, the coalesce
function is not designed to work with anything but scalar values. You should check if your parameter list is empty and decide whether to include the in
predicate or not creating the query dynamically through e.g. the Criteria API or, since your using Spring, Specifications:
public static Specification<Boot> isFromAuthors(List<Integer> filterAuthorIds) {
return (root, query, builder) -> {
return filterAuthorIds.isEmpty ?
null :
root.get("author").in(departments)
};
}
This was reported before, you can find more details in the comments of this Jira: [HHH-15743] - Hibernate JIRA.