Tente isso no arquivo de configuração xml de hibernação:
<property name="hibernate.connection.CharSet">utf8mb4</property>
<property name="hibernate.connection.characterEncoding">utf8</property>
<property name="hibernate.connection.useUnicode">true</property>
Faça também alterações no URL de conexão da seguinte forma:
db.url=jdbc:mysql://localhost:3306/db_name?useUnicode=true&character_set_server=utf8mb4
As mudanças acima foram suficientes para eu atualizar do esquema de charset utf8 para utf8mb4.
Como observação, gostaria de esclarecer que
UTF8
é a codificação de caracteres enquanto UTF8MB4
é um conjunto de caracteres que o MySQL suporta. UTF8MB4 é um superconjunto para UTF8. Consulte este link para obter mais informações:https:// dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html