다대다 매핑에서 Hibernate 다른 식별자 오류
"동일한 식별자 값을 가진 다른 객체가 이미 session"은 Hibernate가 세션에 이미 존재하는 객체를 저장하려고 할 때 발생합니다. 이 경우에는 UserBean, GroupBean, RoleBean 클래스를 포함하는 다대다 매핑과 관련이 있는 것으로 보입니다.
제공된 코드에서는 saveOrUpdate 메소드를 사용할 때 문제가 발생하는 것으로 보입니다. 저장 기능. saveOrUpdate는 객체 저장과 업데이트를 모두 시도하는데, 이 경우 중복된 rolebean#1 객체가 발생했습니다.
오류는 두 가지 가능한 해결 방법을 제안합니다.
예외 메시지는 rolebean#1 개체가 세션에서 두 번 저장되었음을 나타냅니다. 이는 동일한 개체가 여러 컬렉션에 할당된 경우 발생할 수 있습니다. (userbean.groups 및 userbean.roles) 각 경우에 새 인스턴스로 표시되지 않습니다.
Hibernate 동작을 이해하고 객체가 할당된 코드를 검사하면 문제를 해결하고 다음을 확인할 수 있습니다. 개체는 세션 내에서 올바르게 저장되고 연결됩니다.
위 내용은 myHibernate 다대다 매핑에서 \'동일한 식별자 값을 가진 다른 개체가 이미 세션과 연결되었습니다\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!