본문 바로가기

연재/NHibernate6

[챕터5] 도메인 모델간의 연관(association)관계 설정 - 1 대 N 데이터 모델링에서 관계(Relationship)는 빠질 수 없는 내용입니다. 현대에 가장 많이 사용되는 데이터베이스가 RDBMS (Relational Database Management System)로 불리우는 것처럼 업무의 흐름과 구조를 명확하게 하고, 정보의 가치에 대한 무결성을 확보하는데 있어서 관계는 언제나 선택이 아닌 필수입니다. 이러한 데이터 모델은 비즈니스 요구사항으로 만들어집니다. 이를 생산적으로 구현하기 위해 다양한 모델링 도구가 사용되는데, 이러한 도구는 보통 DB 플랫폼과 함께하고 있습니다. 과거부터 사용되어 왔던 방법이며, 우리도 익숙한 설계 스타일이기도 합니다. 하이버네이트 관점에서 DB는 비즈니스가 존재해서는 안되는 오로지 데이터만 저장하는 저장소로 보고 있습니다. 각 도메인 모.. 2011. 8. 20.
[챕터4] XML 매핑 클래스에 대한 테이블 스키마를 실제 DB에 생성해보자. 이번 쳅터에서는 실제로 xml 메타데이터로 설정된 도메인 모델을 DB 테이블로 생성해보겠습니다. 실제로는 모든 도메인 모델이 구성되면 한 번에 처리하고자 했으나, 하이버네이트가 제공하는 도구의 편의성도 살펴볼 겸 간단하게 진행하겠습니다. 우선 솔루션에 새 프로젝트를 추가합니다. 이 프로젝트는 실제 DB에 스키마를 주입/생성하는 간단한 역할을 하는 프로젝트임으로 콘솔 프로젝트로 생성합니다. 프로젝트명은 DbSchemaGenerator 로 하겠습니다. 프로젝트를 생성 후 아래와 같이 두 프로젝트 참조를 추가합니다. 그리고 NHibernate 라이브러리 참조를 추가하고, hibernate.cfg.xml 파일과 NHibernateUtil.cs 파일을 추가합니다. hibernate.cfg.xml 는 하이버네이트 .. 2011. 8. 7.
[챕터3] 도메인 모델 작성 및 간단한 하이버네이트 XML 매핑 지난번 챕터에 이어 이번 챕터에서는 도메인 모델 작성과 간단한 하이버네이트 매핑 작업을 하도록 하겠습니다. 챕터2 에서 작업했던 업무에 대한 ERD의 엔터티를 클래스로 작성합니다. 우선 회원 엔터티부터 시작해볼까요?! Joejy0109.Model 프로젝트에 클래스 하나를 추가합니다. 클래스명은 회원이니까 Member 로 짓겠습니다. Member 클래스를 생성하고 ERD에 정의된 속성을 추가합니다. "Id" 속성은 ERD의 "회원 번호"가 될 것이고, "UserId"는 "아이디" ... 해서 닉네임(NickName)까지 필요한 속성을 모두 작성했습니다. 이제 Member 클래스는 데이터베이스의 회원 테이블과 매핑되는 도메인 모델이 되었습니다. 하지만 이렇게 도메인 모델 클래스만 작성 했다고 데이터베이스와 .. 2011. 8. 7.
[챕터2] 프로젝트 시작하기 이제 실제로 실무와 비슷하게 프로젝트를 진행하면서 하이버네이트의 사용법을 확인해보겠습니다. 우선 개발 환경을 맞추는게 중요하겠죠?! # 개발환경 1. Visual Studio 2010 with SP1 (꼭 sp1이 설치되지 않아도 됩니다) 또는 Visual Studio 2008 sp1 2. MS-SQL 2008 Express (Visual Studio 2010을 설치할 때 같이 설치되는 버전). 3. NHibernate Framework (두둥~ 우리의 주인공!!! download link : http://nhforge.org/Default.aspx ) 4. NUnit Unit testing Framework (download link : http://www.nunit.net ) - 단위 테스트 프레임워.. 2011. 7. 31.