Почему десериализация Json вызывает проблемы с BaseJpaRepository? ⇐ JAVA
-
Anonymous
Почему десериализация Json вызывает проблемы с BaseJpaRepository?
Мой список элементов всегда пуст с такой полезной нагрузкой:
{ «Идентификатор заказа»: 1, "предметы": [ { «идентификатор элемента»: 3, "itemName": "Продукт А", «количество»: 2, «цена»: 10,99 }, { «идентификатор элемента»: 4, "itemName": "Продукт Б", «количество»: 1, "цена": 19,99 } ], "статус": "ОБРАБОТКА" } У меня есть 2 класса сущностей, определенные здесь:
@Entity общественный класс OrderItem { @Идентификатор частный длинный идентификатор элемента; частная строка itemName; частное количество int; частная двойная цена; @ManyToOne @JoinColumn(name = "parent_order_id") частный заказ заказ; общественный OrderItem () { } public OrderItem(Long itemId, String itemName, int количество, двойная цена) { this.itemId = itemId; this.itemName = itemName; это.количество = количество; this.price = цена; } @Entity @Table(name = "`order`") общественный класс Order { @Идентификатор @GeneratedValue(стратегия = GenerationType.IDENTITY) частный длинный идентификатор заказа; @OneToMany(mappedBy = "порядок", каскад = CascadeType.ALL) частные элементы List; @Enumerated(EnumType.STRING) личный статус OrderStatus; общественный порядок() { this.items = новый ArrayList(); } public Order (Long orderId, элементы List, статус OrderStatus) { this.orderId = orderId; this.items = предметы; this.status = статус; } общественный порядок createOrder (Заказ newOrder) { вернуть orderRepository.merge(newOrder); } Проблема в том, что я всегда отвечаю так:
{ «Идентификатор заказа»: 1, "предметы": [ { "itemId": 3 }, { "itemId": 4 } ], "статус": "ОБРАБОТКА" } Как вы можете видеть, другие поля, кроме itemId, в моей сущности OrderItem имеют значение либо null, либо 0 в зависимости от типа данных.
Я использую класс репозитория, определенный здесь, но после проб и ошибок я пришел к выводу, что проблема не в этом: https://vladmihalcea.com/basejpareposit ... nce-utils/
Мой список элементов всегда пуст с такой полезной нагрузкой:
{ «Идентификатор заказа»: 1, "предметы": [ { «идентификатор элемента»: 3, "itemName": "Продукт А", «количество»: 2, «цена»: 10,99 }, { «идентификатор элемента»: 4, "itemName": "Продукт Б", «количество»: 1, "цена": 19,99 } ], "статус": "ОБРАБОТКА" } У меня есть 2 класса сущностей, определенные здесь:
@Entity общественный класс OrderItem { @Идентификатор частный длинный идентификатор элемента; частная строка itemName; частное количество int; частная двойная цена; @ManyToOne @JoinColumn(name = "parent_order_id") частный заказ заказ; общественный OrderItem () { } public OrderItem(Long itemId, String itemName, int количество, двойная цена) { this.itemId = itemId; this.itemName = itemName; это.количество = количество; this.price = цена; } @Entity @Table(name = "`order`") общественный класс Order { @Идентификатор @GeneratedValue(стратегия = GenerationType.IDENTITY) частный длинный идентификатор заказа; @OneToMany(mappedBy = "порядок", каскад = CascadeType.ALL) частные элементы List; @Enumerated(EnumType.STRING) личный статус OrderStatus; общественный порядок() { this.items = новый ArrayList(); } public Order (Long orderId, элементы List, статус OrderStatus) { this.orderId = orderId; this.items = предметы; this.status = статус; } общественный порядок createOrder (Заказ newOrder) { вернуть orderRepository.merge(newOrder); } Проблема в том, что я всегда отвечаю так:
{ «Идентификатор заказа»: 1, "предметы": [ { "itemId": 3 }, { "itemId": 4 } ], "статус": "ОБРАБОТКА" } Как вы можете видеть, другие поля, кроме itemId, в моей сущности OrderItem имеют значение либо null, либо 0 в зависимости от типа данных.
Я использую класс репозитория, определенный здесь, но после проб и ошибок я пришел к выводу, что проблема не в этом: https://vladmihalcea.com/basejpareposit ... nce-utils/
Мобильная версия