Карта Spring-Data-Cassandra с UDT в качестве значения, не сопоставленного с картой java.

Столбец таблицы Кассандры:

pickuploc map<text, frozen<location>>

Сущность Java:

@Column("pickuploc")
protected Map<String,Location> pickupLocation;

При выполнении запроса выбора из столбца таблицы "pickuploc" не точно сопоставляется с атрибутом pickupLocation, определенным в сущности.

Вот ответ, который я получил:

"pickupLocation": {
            "4171": {
                "type": {
                    "name": "UDT",
                    "keyspace": "delivery",
                    "typeName": "location",
                    "frozen": true,
                    "fieldNames": [
                        "buid"],
                    "typeArguments": [],
                    "collection": false
                }
            }
        }

Использование Spring-Data-Casandra-1.5.8


person Vijayakumar Dhanabalan    schedule 22.11.2017    source источник


Ответы (2)


Spring Data Cassandra поддерживает только примитивные типы в картах начиная с 1.5 и 2.0. Уже есть заявка на улучшение Map поддержки. Оставьте свой голос, чтобы увеличить спрос на его реализацию.

person mp911de    schedule 23.11.2017

Должно быть исправлено в версии 2.2. См. https://jira.spring.io/browse/DATACASS-487.

person mcoolive    schedule 08.04.2020