Я только начал использовать пополнитель репозитория Джексона (Jackson2RepositoryPopulatorFactoryBean) для заполнения некоторых фиктивных данных в моей базе данных с помощью Spring и JPA. Он отлично работает для простых таблиц, но я не могу найти никакой информации о том, как работать с отношениями заполнения. Вот пример: у меня есть таблица MeasureUnit, Entity которой выглядит так:
@Data
@Entity
@Table(name = "measure_units")
public class MeasureUnit {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "name")
private String name;
@Column(name = "description")
private String description;
@ManyToOne
@JoinColumn(name = "company_id")
private Company company;
}
И у меня уже есть заполненная таблица с таблицей отношений Company:
@Data
@Entity
@Table(name = "erp_companies")
public class Company {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "name")
private String name;
@Column(name = "description")
private String description;
}
Вот образец json, который я использую при заполнении некоторых единиц измерения:
[
{
"_class": "helium.erp.com.companies.entity.measureunit.MeasureUnit",
"id": 1,
"companyId": 1,
"name": "unit"
}
]
Очевидно, что простое добавление поля «companyId» к JSON не сработает. Вопрос в том, как заполнить столбец базы данных companyId через поле компании MeasureUnit. Возможно ли это с Джексоном, и как мне написать свой JSON, чтобы достичь sh этого?