Java JSON parse error

220
16 июня 2022, 03:00

Подскажите, пожалуйста. Есть 2 таблицы в БД с соотношением @ManyToMany с соединением через третью таблицу

Первая сущность OrderRequest

@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity(name = "hm_order_request")
public class OrderRequest extends BaseModel {
    @Column(name = "type_of_work_note")
    private String typeOfWorkNote;
    @Column(name = "order_address")
    private String orderAddress;
    @Column(name = "order_note")
    private String orderNote;
    @Column(name = "created")
    private LocalDateTime created;
    @Column(name = "updated")
    private LocalDateTime updated;
    @OneToOne()
    @JoinColumn(name = "reach_goal_id")
    private ReachGoal reachGoal;
    @ManyToOne
    @JoinColumn(name = "client_id")
    private Client client;
    @ManyToMany
    @JoinTable(
            name = "order_request_to_type_of_work",
            joinColumns = @JoinColumn(name = "order_request_id"),
            inverseJoinColumns = @JoinColumn(name = "type_of_work_id")
    )
    private List<TypeOfWork> typeOfWorkList;
}

Вторая сущность TypeOfWork

@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity(name = "type_of_work")
public class TypeOfWork {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @JsonIgnore
    private Long id;
    @Column(name = "type_of_work_name")
    private String typeOfWork;
    @ManyToMany
    @JoinTable (
            name = "order_request_to_type_of_work",
            joinColumns = @JoinColumn (name = "type_of_work_id"),
            inverseJoinColumns = @JoinColumn(name = "order_request_id")
    )
    private List<OrderRequest> orderRequestList;
}

JSON

{
    "client":{
        
                            "name":"Client name",
                            "surname":"surname",
                            "patronymic":"patronymic",
                            "citizenship":"RUSSIA",
                            "phone":"phone",
                            "workPhone":"workPhone",
                            "note":"note",
                            "sex":"MALE",
                            "age":"25-35"   
    },
    "typeOfWork":["Сантехник","Сборка мебели"],
    "orderRequest":{
                            "typeOfWorkNote":"typeOfWorkNote",
                            "orderAddress":"orderAddress",
                            "orderNote":"orderNote"
        
    }   
}

JSON parse error: Cannot construct instance of com.analytics77j.analytics77j.models.TypeOfWork (although at least one Creator exists): no String-argument constructor/factory method to deserialize from String value ('Сантехник');

Я не могу самостоятельно справится ( В БД в таблице type_of_work "Сантехник" и "Сборка мебели есть"

Answer 1

typeofwork должен быть массив объектов, а тут получается массив стрингов. И orderRequest должен быть вложен в typeOfWork. typeOfWorklist:[{typeofwork:'', orderRequest:{}},{},{}]

READ ALSO
Приведение double к short в Java

Приведение double к short в Java

При попытке привести double x к типу short

185
Обход и добавление в БДП

Обход и добавление в БДП

Изучаю структуры данных и пытаюсь создать бинарное дерево поиска с дженериками и пройтись по нему в глубину in orderКогда вызываю метод inOrder...

173
JAVA. счетчик попыток

JAVA. счетчик попыток

недавно начал изучать javaЗадание: сделать игру, в которой пользователю нужно угадать цифру от 0 до 100 + в конце сделать счетчик попыток

191
Проблема с рукописным текстом CSS

Проблема с рукописным текстом CSS

При комбинации свойств для текста:

335