문제

방금 NHiberate를 배우기 시작했습니다.각 데이터베이스 테이블에 대해 적절한 hbm.xml 구성 파일을 작성하는 것은 다소 지루한 것 같습니다.

문제는 NHibernate가 테이블을 읽고 자동으로 관계와 필요한 구성 파일 및 데이터베이스 매퍼 클래스를 검색할 수 있느냐는 것입니다.프로그래머는 아직 초기에 많은 기초 작업을 해야 할 것 같습니다.그런 다음 NHiberate용 템플릿이 있는 Codesmith를 발견했습니까?공백을 메워주는가?

도움이 되었습니까?

해결책

코드 템플릿을 사용할 수 있지만 여전히 통증 IMHO를 만듭니다. 가장 좋은 방법은 사용하는 것입니다 유창한 nhibernate. 컨벤션 별 구성을 사용하는 새로운 자동 매퍼 기능이 있습니다. 매핑 파일이 없으면 유사한 이름을 사용하고 엔티티 이름을 테이블 이름으로 변환하는 방법의 규칙을 정의 할 수 있다는 가정 만 제시합니다.

다른 팁

코드 생성은 그 격차를 정말 잘 메울 수 있습니다. 저는 CodeSmith를 사용하기 시작했지만 유료 항목으로 만들었기 때문에 CodeSmith로 옮겼습니다. 마이세대.내 접근 방식은 먼저 DB를 공격하고, 매핑 파일을 생성하고, 클래스가 아직 존재하지 않는 경우 생성 클래스를 생성하는 것입니다.그러면 작업이 매우 빠르게 진행되어 프로토타입 및 테스트 데이터 생성에 적합합니다.

매핑 파일, 클래스 및 DB는 종종 수동으로 변경됩니다.어떤 경우에는 코드 생성이 CI의 일부로 작동하도록 시도했지만 손으로 ​​만든 코드 변경 부분에 대해 규율을 받지 않는 한 그렇게 하기가 어렵다는 것이 입증되었습니다.부분적인 클래스는 도움이 되었지만 팀 전체가 같은 페이지에 있는 것을 여전히 문제로 삼았습니다. 롤백하고 병합할 수 있더라도 도구로 코드를 덮어쓰는 것을 좋아하는 사람은 아무도 없습니다.

나는 Codesmith를 위해 일하고 있습니다 ... MyGeneration이 영원히 업데이트되지 않았으므로 지원이 부족하다는 것을 명심하십시오. Codesmith는 제품 및 템플릿을 완전히 지원합니다. 이는 모든 템플릿 버그가 Codesmith에 의해 수정되고 확인됩니다.

감사

-Blake niemyjski

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top