|
Converter. Поле PostgreSQL jsonb. Как сохранить поле с типом JsonNode
|
|||
---|---|---|---|
#18+
Всем, привет! Добавил довольно-таки стандартный конвертер: Есть поле в классе с аннотацией конвертера: @Convert(converter = JpaConverterJson.class) private JsonNode src; Сам конвертер: JpaConverterJson Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
В результате могу читать из бд этот объект, но не могу сохранять через стандартный метод JpaRepository - repository.save() Потому что: Caused by: org.postgresql.util.PSQLException: ERROR: column "src" is of type jsonb but expression is of type character varying Подсказка: You will need to rewrite or cast the expression. Что логично, метод конвертера String convertToDatabaseColumn, а нужно кастануть в jsonb Реально ли как-то сделать это без NativeQuery? И пока даже не уверен, что и через это можно, хотя если в запросе указать все поля объекта.. Пока так попробую, но что-то мне сам этот способ не особо нравится, похоже на костыль и нестандартное решение :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2020, 09:02 |
|
Converter. Поле PostgreSQL jsonb. Как сохранить поле с типом JsonNode
|
|||
---|---|---|---|
#18+
Изначально поле было @Type(type = "JsonbDataUserType") private JsonObject src; ну и над классом было @TypeDef(name = "JsonUserType", typeClass = JsonUserType.class) и на вход метода сохранения в контроллере было @RequestBody JsonNode jsonNode что не очень-то нравилось, приходилось это поле src выдирать из JsonNode, в dto его потом мапить как toString() т.к. в dto поле src уже было String. Сейчас в dto тоже private JsonNode src; чтобы маппить entity to Dto без лишних итераций с полями. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2020, 09:48 |
|
Converter. Поле PostgreSQL jsonb. Как сохранить поле с типом JsonNode
|
|||
---|---|---|---|
#18+
Видел это добро? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2020, 12:24 |
|
Converter. Поле PostgreSQL jsonb. Как сохранить поле с типом JsonNode
|
|||
---|---|---|---|
#18+
SpringMan Видел это добро? Да, не хочу дополнительные либы какие-то добавлять. Похоже вернусь к старому рабочему коду сейчас) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2020, 07:06 |
|
|
start [/forum/topic.php?fid=59&msg=39937539&tid=2120875]: |
0ms |
get settings: |
26ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
120ms |
get tp. blocked users: |
1ms |
others: | 319ms |
total: | 574ms |
0 / 0 |