Я пытаюсь разделить коллекцию на основе вложенного объекта Java и соответствующего Json. Я знаю, что это может показаться неразумным, но я работаю над проектом, находящимся в стадии разработки, и макет, ожидаемый нашей клиентской командой, не является гибким в данный момент. Пример.) Эквивалент Json для объекта с именем receiveItem выглядит следующим образом:
{
"id": "1",
"item": {
"itemId": "1",
"name": "itemName",
"value": 4.98,
...
},
"tax": {
"rate": 0.15,
"state": "FL",
...
},
...
}
Можно ли создать ключ разделения в Azure с синтаксисом, аналогичным «/item.itemId»? Любой другой способ сделать это, используя itemId в качестве ключа раздела для коллекции receiveItem?
Если есть ответ, как это сделать в Azure, мне также было бы интересно выяснить, как будет выглядеть соответствующий код Java. В отличие от C #, аннотация @PartitionKey
, похоже, не имеет атрибута для указания вложенного объекта (как в [ParitionKey(item.id)]
), и я не вижу способа сделать это в моих конфигурациях (при загрузке Spring).
На Java будет выглядеть так:
@Data
@NoArgsConstructor
@FullArgsContructor
@ToString
@Document(collection="receiptItems")
public class ReceiptItem {
@Id
int id;
// @PartitionKey???
Item item;
Tax tax;
...
}