プライマリ・キーを結合して外部キーを作成
2742 ワード
一.PKクラスの作成
二.エンティティの作成
三.マッピングファイルの作成
四.プライマリ・キーを結合して外部キーを作成
import java.io.Serializable;
public class PKCode implements Serializable {
private Integer code;
private Integer codeType;
public Integer getCode() {
return code;
}
public void setCode(Integer code) {
this.code = code;
}
public Integer getCodeType() {
return codeType;
}
public void setCodeType(Integer codeType) {
this.codeType = codeType;
}
public boolean equals(Object obj) {
return super.equals(obj);
}
public int hashCode() {
return super.hashCode();
}
}
二.エンティティの作成
public class Code extends MainEntity {
private PKCode codePk;
private String name;
public PKCode getCodePk() {
return codePk;
}
public void setCodePk(PKCode codePk) {
this.codePk = codePk;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class CodeType extends MainEntity {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
三.マッピングファイルの作成
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--CODE -->
<hibernate-mapping package="org.apache.dream.common.entity">
<class name="Code" table="T_CODE">
<composite-id name="codePk">
<key-property name="code" column="I_CODE_ID" />
<key-property name="codeType" column="I_CODE_TYPE_ID" />
</composite-id>
</class>
</hibernate-mapping>
四.プライマリ・キーを結合して外部キーを作成
<!-- -->
<many-to-one name="status" class="org.apache.dream.common.entity.Code">
<column name="I_STATUS_CODE_ID" />
<column name="I_STATUS_CODE_TYPE_ID" />
</many-to-one>