2011-12-14 1 views
0

hibernate는 엔티티의 모든 필드 대신 (수정되지 않은 경우에도) 수정 된 엔티티의 필드 만 데이터베이스에 업데이트하도록 구성 할 수 있다는 것을 알고 있습니다. here. 이것이 기본 동작입니다.Hibernate dynamic-update

제 질문은 왜 나중에 기본 동작입니까, 수정 된 필드를 업데이트하는 것이 기본 동작이 아니어야합니까?

그리고 왜 수정되지 않은 필드의 업데이트도 지원됩니까? 수정되지 않은 필드를 업데이트해야 할 이유가 있습니까?

+0

[Hibernate dynamic-update = false] 가능한 복제본 (http://stackoverflow.com/questions/4709293/hibernate-dynamic-update-false) – axtavt

답변

3

제 질문은 왜 나중에 기본 동작입니까, 가 수정 된 필드를 업데이트하는 기본 동작이 아니어야합니까?

수정 된 필드 만 업데이트하면 비즈니스 로직의 대부분에서 응용 프로그램에 의해 많은 수의 속성이 수정되는 경우 많은 비용이 듭니다. 여기에는 더티 검사 (수정 된 필드를 식별하는 또 다른 선택 쿼리)가 포함됩니다. 이 동적 업데이트는 20 개의 필드가 있고 소수의 필드 만 수정 된 경우에 적합합니다 (성능 향상을 위해 DML 문에 추가 할 수있는 열의 수가 적기 때문에). 50 % 이상의 필드가 수정되면 모든 속성을 업데이트하는 것이 좋습니다. 따라서 개발자는 수정 된 필드 만 업데이트하도록 결정할 수 있습니다.

희망 사항을 이해하면 도움이됩니다. 전문가들이 내가 잘못하면 나를 바로 잡으십시오.