Исключение из-за типа данных CLOB в библиотеке GSON - PullRequest
1 голос
/ 04 марта 2020

Я получаю эту странную проблему при использовании типа данных CLOB и преобразовании его в JSON ответ, но выдает ошибку типа

java.lang.IllegalArgumentException: class oracle.jdbc.driver.Accessor declares multiple JSON fields named statement

Я использую myBatis для извлечения данных из базы данных и объекта, который myBatis возвращаемое значение

[{EMAIL_TEMPLATE_ID=1, CREATED_BY=owner, COMMON_BODY=oracle.sql.CLOB@1d8b47a, COMMON_SUBJECT=This os common subject line in notification table, CREATED_DATE=2020-02-03 00:00:00.0, COMMON_CC_USER=abc@gmail.com, STATUS=pending, NOTIFICATION_ID=1, HAS_ATTACHMENT=y, UPDATED_BY=tester, EXPIRY_DAYS=10, SCHEDULE_TIME=2, COMMON_TO_USER=xyz@gmail.com, UPDATED_DATE=2020-02-03 00:00:00.0, NOTIFICATION_TYPE=dist}]

В приведенном выше объекте COMMON_BODY имеет тип данных CLOB .

Я сохраняю этот объект в переменной результатов, представляющей собой список карты.

List<Map<String,Object>> results  =  session.selectList(id,searchparams);

Теперь, когда я печатаю результаты, это дает правильные результаты, но когда я пытаюсь преобразовать его в JSON ответ, используя gson, это дает мне ошибку

String json = gson.toJson(results);

Я изменил тип данных CLOB для String, то он работает нормально, но когда я использую тип данных CLOB, он дает мне исключение, например

java.lang.IllegalArgumentException: class oracle.jdbc.driver.Accessor declares multiple JSON fields named statement
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...