pureQuery Runtime은 테이블 조인을 포함하는
SQL 쿼리에서 결과를 리턴하는 Java 오브젝트의
작성 및 채우기를 자동화합니다. 중첩된 Bean 세트는 SQL 쿼리에서 리턴된 데이터를
나타냅니다.
Bean의 계층 구조는 데이터베이스에서 데이터 및
테이블의 관계형 구조를 복제합니다. pureQuery Runtime은 또한
쿼리의 데이터를 처리합니다. 대부분의 경우, DAO(Data Access Object) 인터페이스 및 인라인 메소드에 대한
필수 ResultHandler 및 RowHandler를 생성합니다.
pureQuery Runtime을 사용하여 중첩된 Bean은 일대다 및 일대일 관계의
데이터를 리턴하고 다대다 및 다대일 관계를
시뮬레이션할 수 있습니다.
pureQuery Runtime은 다중 테이블의 데이터를 결합하는
SQL 쿼리 결과에서 중첩된 Bean 구조의
자동 생성을 지원합니다. 각 조인된 테이블에 있는 각 일치하는 행의 데이터는
ResultSet 오브젝트의 단일 데이터 행으로 결합됩니다.
하나의 Bean이 기타 Bean의 java.util.List를 포함하도록 허용하여
Bean이 ResultSet 오브젝트의 다중 데이터 행을 포함할 수 있습니다.
중첩은 다중 테이블에 있는 데이터의 계층 구조 특성을 보존하며
일대다 관계를 구현합니다. 하나의 Bean이 다른 Bean을 포함하도록 하여
Bean의 레이아웃을 단순화하며 일대일 관계를 구현합니다.
다대다 관계는 다중의 일대다 관계로 시뮬레이션하며
다대일 관계는 다중의 일대일 관계로
시뮬레이션할 수 있습니다.
다중 SQL문과 함께 Bean 클래스를 사용할 수 있습니다. 다음 시나리오는
동일한 Bean을 다른 상황에서 사용할 수 있는 방법을 설명합니다.
- 부서 Bean은 해당 부서의 직원 Bean 목록과
해당 부서의 프로젝트 Bean 목록을 포함할 수 있습니다.
- 직원 Bean은 해당 직원에 속하는 프로젝트 목록과
직원이 참여하는 활동 Bean 목록을
포함할 수 있습니다.
- 프로젝트 Bean은 해당 프로젝트에 대해 작업하는 직원의
직원 Bean 목록을 포함할 수 있습니다. 여기에는 프로젝트 리더의
정보가 있는 단일 직원 Bean도 포함될 수 있습니다. 또한
프로젝트 내의 모든 활동을 설명하는 활동 Bean 목록도
포함할 수 있습니다.
- 활동 Bean은 활동이 사용되는 프로젝트와 프로젝트
목록에 대한 정보를 포함할 수 있습니다.
- 해당 Bean의 재사용은 ResultSet에서
다른 정보를 포함하는 다양한 SQL에서 유래합니다.
해당 SQL 쿼리의 예는 다음과 같습니다.
- 부서 테이블 열, 직원 테이블 열 및 프로젝트 테이블 열을 결합하는 SQL을
결합합니다. 부서 Bean을 상위 Bean으로 사용하면
하나 이상의 부서 Bean을 가져올 수 있습니다. 각 부서 Bean은
해당 부서의 모든 직원 목록과 해당 부서의 다른 프로젝트 목록을
포함합니다.
- 직원 테이블 열, 프로젝트 테이블 열 및 활동 테이블 열을 결합하는 SQL을
결합합니다. 직원 Bean을 상위 Bean으로 사용하면
하나 이상의 직원 Bean을 가져올 수 있습니다. 각 직원 Bean은
해당 직원의 프로젝트 목록과 직원이 참여하는 활동 Bean 목록을
포함합니다.
- 프로젝트 테이블 열 및 활동 테이블 열을 결합하는 SQL을
결합합니다. 프로젝트 Bean을 상위 Bean으로 사용하면
하나 이상의 프로젝트 Bean을 가져올 수 있습니다. 각 프로젝트 Bean은
프로젝트의 활동 Bean 목록을 포함합니다.
- 활동 테이블 열 및 프로젝트 테이블 열을 결합하는 SQL을
결합합니다. 활동 Bean을 상위 Bean으로 사용하면 하나 이상의 활동 Bean을
가져올 수 있습니다. 각 활동 Bean은
활동이 사용되는 프로젝트 Bean 목록을 포함합니다.