나는이 일로 인해 내 머리를 쓰지 않아도된다.Hibernate JPA 자식 엔티티를 저장하는 올바른 방법은 무엇입니까
Intellij를 사용하여 표준 Entity 개체를 생성했습니다. 이제 부모 자식 관계를 저장하려고합니다.
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);
상위 레코드 만 DB에 저장되며 하위 레코드는 저장되지 않습니다. 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 측면에서 시도 할 경우, 나는 어떤 오류도 내지 않지만 부모 만이 구원 받았고 아이는 구원받지 못했습니다.
당신은 실제로 질문에 대답 : 당신이 폭포를 사용하지 않을 경우
, 다른 옵션은하는 것입니다 :) –