Приветствую всех.
Исчерпал свои возможности по поиску решения проблемы и очень прошу помочь :)
Есть проект, урезанный до минимальной конфигурации, позволяющей воспроизвести баг:
https://github.com/TerminusMKB/moidelishki
В проекте один единственный контроллер, который при запросе к себе запрашивает и возвращает данные о единственном же пользователе в БД. При первом запросе к себе он возвращает корректные данные:
{"id":2,"testArray":"{1,2,3}","testTimestamp":"2016-01-01 00:00:00+03"}
При десятом же (условно, но где-то в том районе) начинает выдавать такое:
{"id":2,"testArray":"{\"1\",\"2\",\"3\"}","testTimestamp":"2016-01-01 00:00:00+03"}
Т.е. начинает зачем-то оборачивать в кавычки элементы массива.
Что известно:
1) Воспроизводится с PostgreSQL 9.3 и 9.4
2) Воспроизводится только при использовании jdbc драйвера старше 9.4-1201-jdbc41. С этой версией проблем нет никаких.
3) Менял пул соединений с c3p0 на Vibur - не помогло
4) Менял версии Spring и Hibernate - не помогло
5) Проблема точно не в отдаче данных самим контроллером, т.к. проявилась вначале в собственном определённом UserType. Там я смотрел, что приходит в класс из базы и в определённый момент видел битые данные. Сейчас у проблемного поля тип String просто для удобства просмотра.
Есть как бы планы обновления БД на версию посвежее, да драйвер, соответственно, поактуальнее, то данный вопрос ставит просто в тупик.
В чём может быть беда?