0
하위 엔티티에 일대 다 연관이있는 엔티티가 있습니다.삽입 대신 OneToMany 연결 업데이트
하위 엔터티에는 PK로 2 개의 열이 있고 열 중 하나는 부모 테이블에 대해 FK입니다.
매핑은 다음과 같습니다
@OneToMany(cascade = {CascadeType.ALL}, fetch = FetchType.EAGER)
@JoinColumn(name="USER_RESULT_SEQUENCES.USER_RESULT_ID", referencedColumnName="USER_RESULT_ID", unique=true, insertable=true, updatable=false)
private List<UserResultSequence> sequences;
나는 부모의 인스턴스를 생성하고 나열하는 어린이 인스턴스를 추가 한 다음 DB에 저장하려고합니다.
자식 테이블이 비어 있으면 모든 자식을 삽입하고 완벽하게 작동합니다. 자식 테이블이 비어 있지 않으면 기존 행을 업데이트합니다!
삽입물 대신 업데이트하는 이유, 이것이 일어날 수있는 이유는 무엇입니까?
감사합니다.
그러나 2 행으로 구성된 하위 PK는 모든 행이 고유합니다! 내가 무엇이 부족합니까 ?? 그런데 Hibernate가 중복 된 컬럼에 대해 불평을하게하기 때문에 부모 PK는 자식 엔티티에 매핑되지 않는다. – Shvalb
에는 고유 한 열 ('ID')이있는 상위 테이블에 삽입하는 방법이 있으며, 상위 테이블과 동일한 고유 'ID'및 하위 테이블의 PK를 구성하는 다른 열 값을 갖는 무료 하위 테이블을 추가 할 수 있습니다 ?? 나는 이렇게해야한다 그렇지 않으면 나는 부모를 위해 1 insert를해야하고 그 'ID'값을 얻고 모든 어린이들에게 배치 삽입을해야한다 - 그것은 Hibernate의 생각과 모순 될 것이다! – Shvalb