2012-02-13 3 views
2

NHibernate/FluentNHibernate를 처음 사용합니다. 지금 사용하는 것이 더 쉽기 때문에 FNH를 코딩에 사용합니다. 그러나, 나는 NHibernate로 작성된 기존의 코드베이스로 작업하고있다. 오늘 데이터베이스가 예상대로 업데이트되지 않는 버그가 발견되었습니다. 약 30 분 후에 새로운 클래스 변수를 추가 했더라도 매핑 XML을 업데이트하지 않았다는 것을 알았습니다. 테이블의 행이 업데이트되지 않도록했습니다. 내 질문에, NHibernate와 같은 불완전한 매핑을 쉽게 식별 할 수있는 방법이 있는가? 그래서 내가 잘못되었을 때 매핑을 수동으로 검사 할 필요가 없다. 즉, 매핑되지 않은 필드에 대해 기본 데이터가 아닌 개체를 업데이트하는 경우 경고 메시지가 표시됩니까?NHibernate 불완전한 매핑을 막는 법

+1

새로운 단위 테스트를 구현 하시겠습니까? – Rippo

답변

1

또한 UnitTest에서 NHibernate 매핑 메타 데이터를 사용하고 매핑되지 않은 속성을 리플렉션을 통해 검색 할 수 있습니다.

유창한 nhibernate 또는 다른 방법을 사용하여 nhibernate 매핑을 만드는 경우 Metatdata를 사용하면 응용 프로그램에 투명 해집니다.

UnitTests에서 매핑을 테스트하면 매핑이 제대로 된 경우 응용 프로그램을 시작하지 않을 때 테스트 중에 알 수 있습니다.

This question과 관련이 있고 this shows how to query the metadata 인 것으로 보입니다.

+0

+1 나는이 스타일의 단위 테스트를 작성했지만 정확한 결과는 아닙니다. – Bevan

0

데이터베이스가 업데이트되지 않은 버그는 매핑 된 필드/속성 이외의 문제로 인해 발생할 수 있습니다. 리플렉션을 사용하여 잡을 수없는 다른 매핑 실수가있을 수 있습니다. 잘못된 계단식 또는 잘못된 발전기를 사용하면 어떨까요? 또는 연관 매핑을 잊어 버렸습니까?

대부분의 매핑 문제를 파악하려면 실제 또는 메모리 데이터베이스에 대해 실행되는 통합 테스트를 만들어야합니다. 이 방법의 개요는 here입니다.

관련 문제