인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

vigeotech님의 프로필 이미지
vigeotech

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

EntityExsistsException

작성

·

150

0

em.pesist() 를 사용하여 insert 문을 실행코자 합니다. 아래 코드와 같이 insert 를 2번 이상 실행키려고 합니다.

Minfo m1 = new Minfo();

em.persist(m1);

Minfo m2 = new Minfo();

em.persist(m2);

Minfo 객체가 m1 하나만 persist() 하는 경우 에러가 발생하지 않지만, m1, m2 를 둘 다 persist() 하려는 경우, EntityExsistsException 를 발생시킵니다.

A different object with same identifier value was already associated with the session 메시지가 뜹니다. 강의 예제에서 Member member 객체를 여러개 생성하여 em.persist(member) 가 되는 것을 확인하였는데, 되지 않는 이유를 모르겠습니다.

Minfo2 vo클래스를 하나 더 만들어서 아래와 같이 실행하면 문제가 되지는 않습니다만,

Minfo m1 = new Minfo();

em.persist(m1);

Minfo2 m2 = new Minfo2();

em.persist(m2);

insert 갯수가 불규칙한 다중 insert 를 처리할 경우, vo 를 매번 만들 수도 없어서 고민입니다.

답변 2

1

vigeotech님의 프로필 이미지
vigeotech
질문자

간단하게 vo 클래스의 id 부분에

@GeneratedValue 어노테이션을 사용하니 해결 되었네요.

0

안녕하세요. vigeotech님, 공식 서포터즈 OMG입니다.

스스로 잘 해결하셨습니다^^

강의 관련하여 궁금한 사항 생기면 언제든 질문 주세요 :)

vigeotech님의 프로필 이미지
vigeotech

작성한 질문수

질문하기