В первый раз я пытаюсь упорствовать в сущности один ко многим.Я правильно сохранил «одну» часть, а не «многие».
Однако при чтении данных все идет хорошо.
Фрагмент «один»:
@Entity
@Table(name = "t_orderInfo")
public class OrderInfo {
public OrderInfo() {
}
@Id
@Column(name="typeName")
private String typeName;
@OneToMany( fetch = FetchType.LAZY, mappedBy="orderInfo")
private Set<ReticleInfo> reticles = new HashSet<>();
public Set<ReticleInfo> getReticles() {
return reticles;
}
public void setReticles(Set<ReticleInfo> reticles) {
this.reticles = reticles;
}
фрагмент "many"
@Entity
@Table(name = "t_reticle")
public class ReticleInfo {
public ReticleInfo() {}
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id")
private int id;
@ManyToOne( fetch = FetchType.LAZY)
@NotFound( action = NotFoundAction.IGNORE)
@JoinColumn(name="typeName", nullable=false, insertable=false, updatable=false)
private OrderInfo orderInfo;
Весь материал управляется JpaRepository
В контроллере POST я делаю:
@RequestMapping(value = "/main", method = RequestMethod.POST)
public String testPOST(@RequestBody OrderInfo orderinfo) throws JsonProcessingException {
System.out.println("POST here");
ObjectMapper mapper = new ObjectMapper();
String jsonInString = mapper.writeValueAsString(orderinfo);
System.out.println("OrderInfo CTRL GET JS: " +jsonInString);
System.out.println("");
System.out.println("SAVE orderinfo");
orderInfoService.save(orderinfo);
System.out.println("SAVED orderinfo");
Контроллер получил строку JSONкоторый хорошо сформирован.Я проверил на стороне клиента, и «jsonInString» в контроллере также является правильным.
Я прочитал несколько сообщений об этом, я чувствую, что проблема в моем сеттере, но я не могу понять, какчтобы исправить это.
Любая помощь, чтобы сохранить мои данные будет признателен.Спасибо Алак