Как сделать запрос Json (без значения ключа) в Postgres - PullRequest
0 голосов
/ 13 апреля 2020

В настоящее время я работаю над проектом, в котором требуется сохранить атрибут навыков

@TypeDef(name = "json", typeClass = JsonStringType.class)

@Type(type = "json")
@Column(columnDefinition = "json")
private List<String> skills;

в текстовом типе данных в Postgres (но он будет сохранен как действительный JSON). , Это достигается с помощью ссылки https://vladmihalcea.com/how-to-map-json-collections-using-jpa-and-hibernate/

Пример данных, которые заполняют этот атрибут, выглядит следующим образом:

.
.
.skills(asList(
            "Java".concat(String.valueOf(i)), 
            "Python".concat(String.valueOf(i)),
            "DotNet".concat(String.valueOf(i))))

Значение в базе данных, которая хранится, равно ["Java9","Python9","DotNet9"]. Я знаю, что это неправильный способ выполнить эту работу, но я просто хочу знать, что, если есть какой-либо способ запроса в JPA, я могу использовать встроенную функцию JPA для получения Java9 из атрибута навыков. Или даже я могу написать SQL запрос, который может вернуть мне эти данные. Я знаю, как извлечь данные из JSON объекта, который имеет пары ключ-значение, по следующей ссылке 'https://www.postgresqltutorial.com/postgresql-json/', но это не относится к моему случаю, так как мой JSON (вроде) не имеет пар ключ-значение.

Кроме того, если я сохраню тип данных в PG как текст, то он позволяет вставить запись, если мы изменим тип данных на JSON, то он выдаст исключение.

Постановка задачи: есть ли способ запросить текст (как JSON) в списке значений, разделенных запятыми (навыки в данном конкретном случае c). Ценю за это.

...