명령문이 리턴하는 결과 세트를 가진 Bean을 생성할 수 있습니다.
Java 클래스가 pureQuery를 지원하는 Java 프로젝트에 나타나는 동안에는 올바른 SQL SELECT문을 포함하는 Java 클래스의 모든 문자열 리터럴에 있는 SQL SELECT문을 사용할 수 있습니다.
프로시저
SELECT문의 결과 세트를 가질 Bean을 생성하려면 다음을 수행하십시오.
- Java 편집기에서 명령문 내에
텍스트 커서를 놓은 후 명령문을 마우스 오른쪽 단추로 클릭하고
을 선택하십시오. SQL문에서 pureQuery 코드 생성 마법사가 열립니다.
- 마법사의 단계를 완료하십시오.
- Bean을 생성하려면 완료를 클릭하십시오.
결과
조인 또는 통합을 야기하거나 계산된 열을 포함하는 SQL 쿼리에서 AS절을
사용하지 않는 경우, 결과 세트에는 고유하지 않은 이름을 가진 열이 포함될 수 있습니다.
결과 세트를 나타내도록 Bean을 생성할 때 워크벤치가 이 문제점을 해결할 수 있는지는
애플리케이션이 사용하는 데이터베이스 유형에 따라 결정됩니다.
- Linux, UNIX
및 Windows용 DB2®, z/OS®용 DB2, Informix® Dynamic Server: 워크벤치는
하나 이상의 다른 열과 같은 이름을 가지고 있는 열에 맵핑하는 특성의 @Column 어노테이션을 사용합니다.
예를 들어, 애플리케이션이 다음 단순 쿼리를 실행한다고 가정하십시오.
select a.col1, b.col1 from a, b where a.id=b.id;
쿼리 결과를
보유한 Bean의 해당 특성에 대한
set() 메소드에는 두 개의
id
열이 나타나는 테이블의 이름을 제공하는
@Column 어노테이션이 필요합니다.
public class JoinExample{
private int a_id;
private int b_id;
@Column (name="id", table="a")
public void setA_id (int a_id)
{
this.a_id = a_id;
}
public int getA_id ()
{
return a_id;
}
@Column (name="id", table="b")
public void setB_id (int b_id)
{
this.b_id = b_id;
}
public int getB_id ()
{
return b_id;
}
}
- Oracle: 워크벤치는 문제가 있는 열을 Bean의 특성에 맵핑하기 위해 @Column 어노테이션의 table 속성을 사용하지 않습니다.
다음 방법 중 하나를 사용하여 해당 열을 맵핑해야 합니다.
- SELECT문의 AS절을 사용하여 쿼리 결과의 열에 고유 이름을 지정하십시오.
- 이름이 아니고 색인 번호를 기준으로 하여 쿼리 결과의 열에 대한 작업을
수행할 수 있는 RowHandler를 사용하십시오.
RowHandler
<ROW> 인터페이스를 참조하십시오.