티스토리 뷰


[스크랩]PK 두개 이상시 매핑

출처 : http://antop.tistory.com/56




PK(Primary Key)가 두개인 테이블이 있습니다.

PK가 하나일때는 <id> 태그를 써서 쓰면 되지만, 두개일때는 <composite-id> 태그를 사용합니다.

<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="model"> <class name="Code" table="common_code"> <composite-id> <!-- PK1 --> <key-property name="code" type="string"> <column name="code" length="10"> <comment>코드</comment> </column> </key-property> <!-- PK2 --> <key-property name="lang" type="string"> <column name="language" length="3"> <comment>언어</comment> </column> </key-property> </composite-id> <property name="codeDesc" type="text"> <column name="code_desc" not-null="false"> <comment>코드 설명</comment> </column> </property> </class> </hibernate-mapping>

그리고 클래스 파일은 Serializable 인터페이스를 구현해야 한답니다....

 
package model;

import java.io.Serializable;

public class Code implements Serializable {

    private static final long serialVersionUID = -14882784587978705L;
 
    private String code; // PK1
    private String lang; // PK2
    private String codeDesc;

    // getter, setter
}

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함