Annotation 외에도 XML(매핑파일명.xml
)을 통해 엔티티를 설정하는 것도 가능하다.
META-INF/매핑파일명.xml
persistence.xml
에 <mapping-file>패키지.매핑파일명.xml</mapping-file>
형태로 기술public class Employee {
private int eid;
private String ename;
private double salary;
private String deg;
public Employee(int eid, String ename, double salary, String deg) {
super( );
this.eid = eid;
this.ename = ename;
this.salary = salary;
this.deg = deg;
}
public Employee( ) {
super();
}
public int getEid( ) {
return eid;
}
public void setEid(int eid) {
this.eid = eid;
}
public String getEname( ) {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public double getSalary( ) {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public String getDeg( ) {
return deg;
}
public void setDeg(String deg) {
this.deg = deg;
}
}
<? xml version="1.0" encoding="UTF-8" ?>
<entity-mappings xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm
http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"
version="1.0">
<description> XML Mapping file</description>
<entity class="Employee">
<table name="EMPLOYEETABLE"/>
<attributes>
<id name="eid">
<generated-value strategy="TABLE"/>
</id>
<basic name="ename">
<column name="EMP_NAME" length="100"/>
</basic>
<basic name="salary">
</basic>
<basic name="deg">
</basic>
</attributes>
</entity>
</entity-mappings>
<entity-mappings>
: xml 파일에 엔티티 태그를 허용하는 스키마 정의를 정의<description>
: 애플리케이션에 대한 설명 정의<entity>
: 데이터베이스에서 테이블로 변환하려는 엔티티 클래스 정의<table>
: 테이블 이름 정의<attributes>
: 속성(테이블의 필드) 정의<id>
: 테이블의 기본 키 정의<basic>
: 테이블의 나머지 속성 정의<column-name>
: 사용자 정의 테이블 필드 이름 정의📖 참고