2 回答
TA贡献1839条经验 获得超15个赞
您必须使用保存方法的返回值:
Parent parent = parentRepository.findById(1);
Child child = new Child();
parent.getChildList().add(child);
parent = parentRepository.save(parent); <---------- use returned value with ids set
System.out.println("child's id: " + parent.getChildList().get(0).getId()); <-- access saved child through parent list
TA贡献1963条经验 获得超6个赞
根据代码,您已经创建了childObject 并且没有为其元素设置任何值,然后尝试从新创建的对象中获取元素(child.getId())它将始终为 null,除非您将 DB 中的值分配给它。
Parent parent = parentRepository.findById(1);
Child child = new Child(); // Empty child object created
parent.getChildList().add(child);
parentRepository.save(parent);
System.out.println("child's id: " + child.getId()); //Referring empty child object
在这里您可以做的是:
在第 5 行中,我们为其分配了 dB 值
Parent parent = parentRepository.findById(1);
Child child = new Child(); // Empty child object created
parent.getChildList().add(child);
parent = parentRepository.save(parent);
child = parent.getChildList().get(0);// assing db value to it( assingning 1st value of `ChildList`)
System.out.println("child's id: " + child.getId()); //now Referring non-empty child object
添加回答
举报