У меня есть две модели классов Gizmo и GizmoChild. Я сохраняю объект gizmo с объектом gizmoChild. Объект Gizmo сохраняется правильно, но в таблице GimoChild идентификатор Gizmo имеет значение NULL.
Гизмо Модель:
@Entity
public class Gizmo {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long Id;
private String field1;
private String field2;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "gizmo", fetch =
FetchType.LAZY)
private List<GizmoChild> children;
}
GizmoChild Модель:
@Entity
public class GizmoChild {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long Id;
private String childField1;
private String childField2;
@ManyToOne
private Gizmo gizmo;
}
GimoRepository:
@Repository
public interface GizmoRepository extends JpaRepository<Gizmo, Long> {
}
GizmoService:
@Service
public class GizmoService {
@Autowired
private GizmoRepository gizmoRepository;
public void save(Gizmo gizmo){
gizmoRepository.save(gizmo);
}
Контроллер:
@RequestMapping(value = "/save", method = RequestMethod.POST)
public String saveGizmo(Model model){
Gizmo gizmo1 = new Gizmo();
gizmo1.setField1("Field1");
gizmo1.setField2("Field2");
GizmoChild gizmoChild = new GizmoChild();
gizmoChild.setChildField1("ChildField1");
gizmoChild.setChildField2("ChildField2");
gizmo1.getChildren().add(gizmoChild);
gizmoService.save(gizmo1);
return "redirect:/";
}
Я создаю объект Gizmo, а не GizmoChild и добавляю их в список. Gizmo сохраняет, но идентификатор gizmo таблицы GizmoChild не вставляется. Как избавиться от этой проблемы?