JJC's 테크니컬 다이어리

매핑 본문

Hibernate

매핑

털털한JJC 2009. 9. 17. 19:02

매핑

먼저 db테이블과 자바클래스간의 매핑(주로 xml로)을 작성해야 한다.
매핑파일에는 클래스내의 속성(변수)를 db 컬럼에 매핑하는 프로퍼티를 가지고 있다.

수평 매핑, 수직 매핑, 유니언 매핑 이 있다.
수직 매핑에서는 각 클래스(추상 또는 비추상)가 서로다른 단일 테이블로 매핑된다. 추상클래스 Animal에서 상속받은 비추상클래스인 Dog 과 Cat이 있다 치면 데이타베이스에는 각클래스별로 하나씩 총 세개의 테이블로 구성된다. 수평 매핑에서는 각 비추상클래스 만 각 테이블로 매핑된다. 유니언 매핑에서는 다수의 클래스(동일 조직의 일부일때)가 단일 테이블에 매핑된다.

수직 매핑이 좀더 융통성이 크지만  모든 데이타를 추출하기 위한 복수개의 테이블이 필요하기에 복잡하다. 그래서 우리는 더 간소한  설계와 좋은 성능이 나오는 수평 매핑을 사용한다.