Я новичок в Spring Boot и у меня довольно неприятная проблема.
У меня есть две связанные сущности: транзакция и категория
Категория. java
@Data
@Entity
@Table(name = "t_categories")
public class Category extends BaseEntity {
@Column(name = "category_name")
private String name;
}
Транзакция. java
@Data
@Entity
@Table(name = "t_transactions")
public class Transaction extends BaseEntity {
private String description;
@ManyToOne
@JoinColumn
private Category category;
}
И когда я хочу добавить новую категорию, я просто делаю POST-запрос с JSON телом так:
{
"name": "XYZ"
}
И создается новая категория (например, с идентификатором 1). Теперь я хочу добавить новую транзакцию с JSON следующим образом:
{
"description": "Qwerty",
"category": 1
}
Поэтому я хочу передать только идентификатор связанного объекта. Выдается следующая ошибка:
Cannot construct instance of `persistence.models.Category` (although at least one Creator exists): no int/Int-argument constructor/factory method to deserialize from Number value (1); nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of `persistence.models.Category` (although at least one Creator exists): no int/Int-argument constructor/factory method to deserialize from Number value (1)\n at [Source: (PushbackInputStream); line: 3, column: 12] (through reference chain: persistence.models.Category[\"parent\"])"
Что мне теперь делать? Поиск этой ошибки дает неубедительную информацию. Я новичок в этом, и это довольно загадочно.