XML 사용하기 - 하이버네이트 맵핑
단점
- Metadata is not, by nature, more flexible or maintainable than plain Java code.
- Many existing metadata formats weren't designed to be
readable and easy to edit by hand. 적절한 기본값을 제공해주지 않아서 필요 이상의 타이핑이 필요하다.
속성없이 엘리먼트만 사용하는 경우도 있다.
- Good XML editors, especially in IDEs, aren't as common as
good Java coding environments. DTD가 제공되지 않아서 자동완성과 검증 기능을 사용하지 못하는 경우가
있다.
하이버네이트의 XML
- 위의 모든 단점을 고려했다.
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="auction.model.Category" table="CATEGORY">
<id name="id" column="CATEGORY_ID" type="long">
<generator class="native"/>
</id>
<property name="name" column="NAME" type="string"/>
</class>
</hibernate-mapping>
- 여러 클래스 맵핑 정보를 하나의 파일 안에 모두 두는 것도 가능하지만 클래스 당 매핑 파일 하나를 권장한다.
- 맵핑 파일은 클래스와 같은 패키지에 놓는것을 권장한다.