내가 트랜잭션 마스터 세부 기록을 수행 할 필요가있는 상황에서 오전 (새 세부 사항을 드롭 이전 정보를 삽입, 업데이트 마스터 상태)트랜잭션 내에서 큰 비즈니스 개체의 1 개 필드 만 업데이트하는 가장 좋은 방법은 무엇입니까?
- 마스터 비즈니스 오브젝트는 20 개 필드
- 있다 세부 비즈니스 오브젝트 내가 만 1 필드를 업데이트하는 데에만
이제 4 개 필드가 마스터 테이블 및 4 개의 필드가 삽입됩니다.
새 마스터 객체를 초기화하면 간단한 업데이트를 위해 19 개의 필드가 낭비됩니다. 이 상황을 효율적으로 처리하려면 어떻게해야합니까?
새 오브젝트를 만들고 마스터 비즈니스 오브젝트에서 하나의 필드 만 상속 할 수 있습니까? DTO 나 상속을받는 사람에게 나에게 조언을 해주면 조금만 실례를 들어주세요. 감사.
답장을 보내 주셔서 감사합니다. 4 개의 필드를 가진 더 단순한 비즈니스 오브젝트를 만들 수 있지만 리던던시 (두 오브젝트 모두에 동일한 필드)가 생성됩니다. '모델에 논리적으로 존재 하는가?'라는 것은 무엇을 의미합니까? 마스터 자식 (child child)에서, 자식 (childs)이 업데이트 될 때마다 master에서 'last updated field'를 업데이트해야합니다. –
이상적인 디자인 세계에서, 당신의 객체는 당신의 기술 요구 사항이 아닌 당신의 '실제'비즈니스 개념을 따라 모델링 될 것입니다. 이것은 물론 100 % 가능하지는 않습니다 (일부 지속성 계층에서는 일부 특성을 사용하여 비즈니스 오브젝트를 데 이터베이스에 저장하여 데이터베이스에 저장해야 함을 나타냄). 그럼에도 불구하고, 나는 '감소 된'객체를 사용하는 큰 팬이 아니다. 예를 들어 wcf 서비스와 같이 많은 직렬화를 수행하고 빈 필드를 모두 직렬화하면 성능에 영향을 미칠 수있는 예외가 될 수있다. . – Sam
흠, 고마워 샘. 나는 결코 직렬화에 대해 생각해 본 적이 없지만 나의 경우에는 필요하지 않을 것이다. 내 대규모 비즈니스 객체를 작은 객체로 분해하고 필요할 때 조합을 반환하는 것이 좋습니다. 그건 내 일을 더 쉽게 해줄거야. –