2010-03-06 2 views
1

Teacher 객체가 있고 Teachers가 Courses 객체 목록을 보유하고 있다고 가정 해 보겠습니다. 교사용 과정이 변경 될 수 있습니다. 일부는 추가되고 일부는 삭제됩니다. 데이터베이스에서이 변경 사항을 업데이트하는 가장 좋은 방법은 무엇입니까? 1. 모든 변경 직후에 데이터베이스를 업데이트하십시오. 예 : 코스가 추가되면 바로 데이터베이스에 추가합니다. 2. 엔티티/개체 교사 (코스가 추가되고 코스가 삭제됨)가 모두 변경되면 모든 변경 사항으로 데이터베이스를 업데이트하십시오. 3. 기타 ??데이터 모델이 변경되면 (개체) 데이터베이스를 업데이트하는 가장 좋은 방법이 무엇입니까?

1과 2의 장점과 단점을 모두 볼 수 있습니다. 1 : 데이터 모델이 데이터베이스에 직접 액세스 할 수있는 것이 얼마나 좋은지 잘 모릅니다. 2의 경우 : 데이터 모델의 정보와 데이터베이스의 정보를 한꺼번에 비교해야하기 때문에 알고리즘이 복잡합니다.

답변

1

언어 또는 플랫폼에 사용할 수있는 ORM 도구 중 일부를 한 번 봐 주셔서 감사합니다. 데이터베이스에서 개체의 개체 표현은 항상 동기화되지 않을 수 있습니다. 예를 들어 사용자가 특정 속성을 변경하고 데이터베이스 업데이트가 시도되었지만 업데이트가 실패한 이유가 무엇이든간에 이제이 두 항목은 동기화되지 않습니다.

데이터베이스 업데이트 빈도에 따라 달라질 수 있습니다. 데이터베이스에 대한 쓰기와 관련하여 대규모 활동을 예상하지 않으면 속성 변경시 즉시 데이터베이스 업데이트를 트리거하는 것이 옵션 일 수 있습니다.

그렇지 않은 경우 개체에 dirty 플래그를 포함하면 데이터베이스와 동기화되지 않는 시점을 나타낼 수 있습니다. 개체 변경 사항은 업데이트되거나 사용자가 진행 상황을 저장하기로 결정한 경우 또는 주기적으로 x 분마다라고 할 때와 같이 이벤트가 트리거 될 때 업데이트 될 수 있습니다.

다른 언어와 프레임 워크는 이러한 모델 객체를 다르게 구현합니다. Rails에서 모델 객체는 ActiveRecord의 하위 클래스이며 자체를 데이터베이스에 보관하는 방법을 알고 있습니다. 자바에서는 도메인 객체와 영속성을 혼용하지 않는다. 이것은 보통 ORM 프레임 워크 또는 사용자 정의 DAO 오브젝트로 처리됩니다.

0

최대 절전 모드에 대해 알아 냈습니다. 그것은 내가 필요한 것이고 그것은 간단합니다.

관련 문제