我可以为了我的生活而没有得到我的头。保存Hibernate JPA子实体的正确方法是什么
我们使用Intellij生成了标准的实体对象。 我现在正在尝试保存父母子女关系。
我有2个表,event_person_register和event_user_role。这是我尝试过的。
eventPersonRegister.setEventUserRolesByPersonRegisterId(new ArrayList<>());
EventUserRole eventUserRole = new EventUserRole();
eventUserRole.setEventPersonRegisterByUserRoleLinkPersonId(eventPersonRegister);
eventUserRole.setUserRole("ROLE_USER");
eventPersonRegister.getEventUserRolesByPersonRegisterId().add(eventUserRole);
eventPersonRegisterRepository.save(eventPersonRegister);
只有父保存到数据库,而不是孩子的记录。 我没有在OneToMany注释中放置任何级联或提取类型。一个注册人可以有多个角色。
更新1:
我试图从eventPersonRegister实体如下:
@OneToMany(fetch=FetchType.LAZY, mappedBy = "eventPersonRegisterByUserRoleLinkPersonId", cascade=CascadeType.ALL)
,但得到的错误:
MySQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails
如果我从user_role的侧试,然后我没有得到任何错误,但只有父母被保存,而不是孩子。
你居然回答了这个问题:_“我还没有放置在任何级联或OneToMany注释取类型。” _ :) –