2014-01-11 1 views
1

테이블 A에서 Row1을 반입하여 Row2를 생성하려고합니다. dozer를 사용하여 빈을 매핑/복제했습니다. 기본 키도 null으로 설정했습니다. Long 유형의 자동 증가 키입니다. 왜 행을 복제하면 org.hibernate.NonUniqueObjException가 발생합니까?

는 그러나 나는 다음과 같은 예외를 받고 있어요 :

org.hibernate.NonUniqueObjectException이 : 같은 식별자 값이 다른 개체가 이미 세션과 관련이 있었다.

답변

1

아마 그것은 Hibernate 메커니즘에 대한 오해 때문일 수 있습니다. clone() Hibernate 관리 객체를 시도해서는 안되며, 대신 Hibernate 세션이 제공하는 방법으로 새 ​​객체를 생성 한 다음 데이터베이스에 저장한다.

이렇게하면 새 개체에 적절하게 생성 된 식별자가 생기며 이런 종류의 오류를 다시 발생 시켜서는 안됩니다.

관련 문제