HQL coalesce() to native query changed with Hibernate 6

As far as I understand, Oracle implicitly casts the second argument to the type of the first argument with nvl(), whereas coalesce() simply expects that the types are the same. Hibernate also expects that the types are the same, but can only go so far with validation.

To solve your problem, you will have to also cast the clob to a String as that is what nvl would have done behind the scenes anyway.