У меня есть API для отдыха, который работает на весенней загрузке. Я пытаюсь вставить данные с помощью почтового метода с помощью команды curl.
curl -H "Content-Type: application/json" -X POST localhost:8080/employees -d "{\"id\":\"5\",\"age\":\"40\",\"name\":\"Name\",\"salary\":\"300000\",\"surname\":\"Surname\",\"deptId\":\"2\"}"
Вот сущность сотрудника
@Entity
@Table(name = "Employee")
public class Employee {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
@OneToOne
@JoinColumn(name = "dept_id")
private Department department;
Вот сущность Департамента
@Entity
@Table(name = "Department")
public class Department {
@Id
@GeneratedValue
@Column(name = "dept_id")
private Long deptId;
@Column(name = "dept_name")
private String deptName;
Когда я отправляю данные через curl, deptId всегда равен нулю. Я думал, что достаточно указать реляционный столбец, но, видимо, это не так.





Измените код на:
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name = "dept_id")
private Long deptId;
Это разные сущности, и они точно относятся к разным классам. Но я написал здесь вместе, чтобы быть кратким
к сожалению, он все еще вставляет ноль
Сотрудник и отдел — это разные таблицы, разные сущности. Но между ними есть связь, в таблице сотрудников есть столбец dept_id
Ставлю стратегию, а она не работает. Все еще ноль
Спасибо за усилия @Peter Šály
У сотрудника нет собственности
deptId, поэтому я не уверен, как вы ожидаете, что это будет работать. Попробуйте{....."department": 2}