2012-08-30 3 views
1

나는 NHibernate에 몇 가지 문제를 다시 가지고있다. 동시에 두 개의 자식 객체를 부모에 추가하려고합니다. 문제는 첫 번째 자식 만 커밋되고 두 번째 자식은 무시된다는 것입니다. 두 번째 자녀에게도 오류 메시지가 표시되지 않습니다.Hibernate는 2 대신 하나의 자식을 커밋한다.

public void CreateKeyword(CreateKeywordRequest request) 
{ 
    Collection collection = _collectionRepository.FindCollection(request.IdentityToken, request.CollectionName); 

    collection.AddKeyword(request.CategoryName, request.KeywordName, request.KeywordDescription); 

    _uow.Commit(); 
} 

- 내가 테스트를 의심

public void AddKeyword(string categoryName, string keywordName, string keywordDescription) 
{ 

    Category category = Categories.Where(c => c.CategoryName == categoryName).FirstOrDefault(); 

    Keyword keyword = new Keyword { Category = category, KeywordName = keywordName, Description = keywordDescription }; 

    category.Keywords.Add(keyword); 

    Test testOne= new Test{ Keyword = keyword, name = "test1" }; 
    Test testTwo= new Test{ Keyword = keyword, name = "test2" }; 

    //Only testOne gets committed and testTwo gets ignored 
    keyword.Tests.Add(testOne); 
    keyword.Tests.Add(testTwo); 

    ThrowExceptionIfKeywordIsInvalid(keyword); 
} 
+0

이 있는지 확인 키워드 특성에 비교 세트 (예를 들어, ISET)의 일종 및 시험의 같음 방법입니다. 코드에서 test2라는 이름으로 자식을 추가 할 수 있지만 두 번째 자식은 첫 번째가 아니라 추가 된 것 같습니다. 이게 맞습니까? – Sami

+0

나는 확실히 test1 만 삽입된다. (double checked) –

+0

원하는만큼 테스트를 추가 할 수 있지만 첫 번째 테스트 만 커밋됩니다. –

답변

관련 문제