Добрый день.
Есть MySQL база с кодировкой utf8mb4. Пишу приложение на JAVA+Hibernate, сразу после создания SessionFactory пишу следующий код (где то в сети нашел такой пример):
NativeQuery query = createNativeQuery("SET NAMES 'utf8mb4'");
query.executeUpdate();
И вроде бы все хорошо, строки с эмодзи символами сохраняются в базу и считываются нормально.
Но иногда, довольно редко, вижу в логах вот такую ошибку:
Incorrect string value: '\xF0\x9F\x87\xA9\xF0\x9F...' for column 'name' at row 1
Проблема воспроизводится с разными эмодзи-символами, необязательно то что я написал выше. Причем если попытаться повторить запись в базу с точно такой же строкой - все работает нормально, и поэтому не удается отладить эту ошибку.
Кто знает помогите разобраться.
Спасибо.
PS Я научился воспроизводить эту проблему. Осталось понять как её побороть :(