Есть 2 модели
Users
@Entity
public class Users {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@Column(nullable = false)
private String name;
@Column(nullable = true)
private int yearOld;
@JsonIgnore
@Column(nullable = false)
private String password;
@OneToMany(targetEntity = Pet.class, cascade = CascadeType.ALL, mappedBy = "owner")
private List<Pet> pets;
// сеттеры, геттеры, конструкторы
}
Таблица Pet
@Entity
@DynamicUpdate
public class Pet {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(nullable = false)
private String name;
@Column(nullable = true)
private short yearOld;
@ManyToOne
@JoinColumn
private Users owner;
// геттеры, сеттеры, конструкторы
}
Вопрос: как правильно передать json для джавы, чтобы можно было сделать crud для one-to-many модели (в особенности update и create интересует)? Также интересно, как грамотно это обработать на стороне джавы.
То есть меня интересует 2 позиции:
1. Оптимальность, чтобы не надо было передавать лишних полей, если они не заносятся в таблицу или автогенерируются
2. В JSON в поле one-to-many (например при создании юзера у него будут животные) чтобы передавался только массив idшников животных, а не полностью вся информация о них (частично пересекается с первым пунктом - оптимальность)
Если что-то из этого невозможно соблюсти, то можете прям так сказать