2010-07-23 3 views
3

나는 lazy = "extra"가있는 bag으로 구현 된 두 개의 클래스 인 User와 Role 사이에 n : m-association이있다. 연결에는 연관 테이블이 저장되며 사용자는 많은 역할을 가질 수 있고 역할은 많은 사용자와 연관 될 수 있습니다.최대 절전 모드 : 왜 가방을 바꾸면 데이터베이스에 이상한 ADD와 DELETE가 생깁니 까?

이제 사용자에게 새 역할을 추가 할 때 hibernate는 emassociation 테이블의 모든 항목을 먼저 제거한 다음 다시 새로운 모든 관계를 추가하는 SQL 코드를 emmits emmits 코드에 추가합니다.

이 문제가 발생하는 이유와이 동작을 어떻게 제거 할 수 있는지 알고 싶습니다.

나 자신의 해결책을 발견했습니다

답변

2

랄프 : 최대 절전 가방은 항상 먼저 alle 그의 entreis을 삭제 한 다음 새로운 상태를 다시 작성합니다. 집합을 사용하면 연결이 제대로 유지됩니다.

최대 절전 모드 수동 참조, Improving Performance