쿼리 결과의 앰비규어스 컬럼 맵핑

조인 또는 통합을 작성하거나 계산 결과 컬럼을 포함하는 SQL 쿼리에 AS절을 사용하지 않는 경우, 쿼리 결과는 이름이 고유하지 않거나 이름이 없는 컬럼을 포함할 수 있습니다. pureQuery는 쿼리 결과를 포함하려는 Bean의 특성에 이러한 컬럼을 맵핑할 수 없습니다. 특정 set() 메소드를 사용하여 해당 컬럼을 수동으로 맵핑할 수 있습니다.

set() 메소드는 최소한 다음 두 상황에서 유용합니다.

이러한 경우를 처리하기 위해 리턴된 쿼리 결과의 데이터로 채워진 Bean에서 다음 메소드를 구현할 수 있습니다.

public void set (String colName, String tableName, int columnIndex, Object setVal)
  {
    . . . 
  }
colName
값이 리턴된 원본 컬럼의 이름. 이 값은 널(NULL) 또는 빈 문자열("")일 수 있습니다.
tableName
컬럼을 포함하는 테이블의 이름. 이 값은 널(NULL) 또는 빈 문자열("")일 수 있습니다.
columnIndex
쿼리 결과 내에서 컬럼의 위치를 표시하는 정수. 인덱스는 1에서 시작합니다.
주의: columnIndex의 값을 제공하지 않는 옵션이 있습니다. SQL 쿼리의 변경사항은 컬럼에 대해 리턴되는 columnIndex를 변경할 수 있습니다. 또한 columnIndex 사용은 set() 메소드를 특정 쿼리에 제한하여 다른 쿼리에 대해서는 메소드를 쓸모없게 만듭니다. 대부분의 경우, tableNamecolName이면 값을 설정할 특성을 식별하는 데 충분합니다.
setVal
컬럼의 값.

피드백