JoinRowSet

JoinRowSet (조인 행 집합)

서로 다른 RowSet 객체의 관련 데이터를 SQL JOIN을 나타내는 하나의 JoinRowSet 객체로 결합하는 메커니즘을 제공하는 인터페이스입니다.

출처: Java API Reference

본문

JoinRowSet 객체는 SQL JOIN 관계를 맺는 RowSet 객체들의 데이터 컨테이너 역할을 합니다. Joinable 인터페이스는 SQL JOIN 관계의 기초가 되는 매치 컬럼을 설정·조회·해제하는 메서드를 제공하며, 매치 컬럼은 JoinRowSetaddRowSet 메서드에도 인자로 넘겨 설정할 수 있어요.

연결 해제된 RowSet 객체(CachedRowSet 객체와 그 구현)는 데이터 소스에 다시 연결하는 값비싼 작업 없이는 RowSet 객체들 사이에 표준 SQL JOIN을 만드는 방법이 없었습니다. JoinRowSet 인터페이스는 바로 이 필요를 해결하기 위해 설계되었어요. 어떤 RowSet 객체든 JoinRowSet 객체에 추가되어 SQL JOIN 관계의 일부가 될 수 있으므로, 연결된 RowSet과 연결 해제된 RowSet 모두 JOIN의 일부가 될 수 있습니다.

연결된 환경에서 동작하는 RowSet(JdbcRowSet 객체)은 이미 연결된 데이터베이스를 사용해 테이블 사이에 SQL JOIN 관계를 직접 만드는 것이 권장됩니다. 하지만 필요하면 JdbcRowSet 객체도 JoinRowSet 객체에 추가될 수 있어요. SQL JOIN으로 연결될 수 있기만 하면 여러 RowSet 객체를 JoinRowSet 인스턴스에 추가할 수 있습니다.

SQL JOIN 문은 공통 속성에 기반해 두 개 이상의 관계형 데이터베이스 테이블에 담긴 데이터를 결합하는 데 사용됩니다. Joinable 인터페이스는 매치 컬럼을 설정해 공통 속성을 만드는 메서드를 제공하며, 매치 컬럼은 SQL JOIN이 성립하는 컬럼입니다.

JoinRowSet jrs = new JoinRowSetImpl();
jrs.addRowSet(crs);
void addRowSet(Joinable rowset) throws SQLException
void addRowSet(RowSet rowset, int columnIdx) throws SQLException
void addRowSet(RowSet rowset, String columnName) throws SQLException
void addRowSet(RowSet[] rowset, int[] columnIdx) throws SQLException
void addRowSet(RowSet[] rowset, String[] columnName) throws SQLException
void setJoinType(int joinType) throws SQLException
CachedRowSet toCachedRowSet() throws SQLException
boolean supportsJoinType(int joinType) throws SQLException
void close() throws SQLException

setJoinTypeJoinRowSet.CROSS_JOIN, INNER_JOIN, LEFT_OUTER_JOIN, RIGHT_OUTER_JOIN, FULL_JOIN 같은 조인 타입을 설정합니다.

더 알아보기 (Learn more)

Java 공식 API