version 2.1.7
저작권 © 2007-2010 삼성 SDS
2010.12.03
본 장에서는 Anyframe Query Manager에 대한 간략한 소개를 통해 개략적인 구성 및 주요기능을 알아본다.

Anyframe Query Manager는 삼성SDS의 어플리케이션 프레임워크인 Anyframe의 Query Service를 사용할 때 필요한 데이터베이스 Query문을 관리하고 활용하기 쉽도록 해 주는 Eclipse 플러그인으로, 다음과 같은 주요 특장점을 통해 개발 속도 및 생산성 향상을 기대하게 해 준다.
Query Explorer를 통해 Query ID의 사용여부 및 중복여부를 쉽게 확인 할 수 있고, Query 맵핑 XML 파일의 전체 Outline을 파악 할 수 있다 .
Query Test Editor를 통해 GUI를 통한 Query 작성 및 테스트/검증 방법을 제공함으로써 Query를 손쉽게 작성할 수 있고, 작성한 Query에 대한 추가적인 테스트 비용을 절감시킨다.
Query ID의 중복여부 및 사용여부를 검사하여 이상 있는 부분을 화면에 출력한다. 존재하는 Query ID에 대해서는 해당 Query가 존재하는 Query 맵핑 XML 파일과 Java 코드 간의 편리한 네비게이션 기능을 제공한다.
사용자의 Eclipse 워크스페이스 내의 수많은 Query의 ID를 검색 할 수 있고 Query 맵핑 XML 파일과의 네비게이션 기능을 제공하여 개발 생산성을 향상시킨다.
Anyframe Query Manager는 삼성SDS의 어플리케이션 프레임워크인 Anyframe의 Query Service를 사용할 때 필요한 데이터베이스 Query문을 관리하고 활용하기 쉽도록 해 주는 Eclipse 플러그인으로, 다음과 같은 주요기능을 통해 개발 속도 및 생산성 향상을 기대하게 해 준다.
편리한 Query문 관리를 도와주는 각종 View 및 Context Menu 등을 포함하는 Query Manager Perspective 제공
Anyframe의 Query Service를 통해 활용하는 다양한 Query문에 대한 생명주기관리(Life-Cycle Management) 지원
Anyframe의 Query Service를 사용할 때 활용할 수 있는 Query 맵핑 XML 파일의 손쉬운 작성
Query Manager Editor 및 Query Explorer, Query Test Editor를 통한 손쉬운 Query 추가/변경/삭제 기능 제공
프로젝트 별로 설정된 Query 맵핑 XML의 Outline 및 Query ID의 사용여부, 중복 여부를 설정된 아이콘을 통해 쉽게 파악
GUI 기반의 Query 작성 지원
GUI 기반의 Query 테스트 지원
Query문에 대하여 Query ID의 검색 기능 제공
Query ID의 중복체크 기능 제공
Query ID를 기반으로 한 Query문 사용여부 정보 제공
Anyframe의 Query Service를 활용한 DAO에 대하여 작성한 Query를 손쉽게 활용할 수 있도록 Content Assist 제공
Query Explorer 와 Query 맵핑 XML 파일 간의 손쉽게 이동할 수 있는 네비게이션 기능 제공
Query와 연관된 특정 VO로 손쉽게 이동할 수 있는 네비게이션 기능 제공
DAO에서 사용한 특정 Query로 손쉽게 이동할 수 있는 네비게이션 기능 제공
본 장에서는 Anyframe Query Manager를 설치하는 방법 및 사용자 인터페이스, 환경설정 등에 대해 알아본다.
Anyframe Query Manager는 Eclipse Update Site와, Anyframe Portal에 압축 파일로 각각 배포하고 있다.
Eclipse의 Help > Install New Software 를 통해서 Anyframe Update Site인 http://dev.anyframejava.org/update 를 추가한다.
Anyframe Query Manager는 Anyframe Common(3.1.1)이 설치되어 있어야 설치가 가능하다.
Anyframe Common Eclipse Plugin 3.1.1을 함께 선택하여 업그레이드 해야 한다. Anyframe Query Manager Eclipse Plugin 2.1.7은 Anyframe Common Eclipse Plugin 3.1.1과 dependency 관계에 있다. Anyframe Common Eclipse Plugin 3.1.1을 함께 업그레이드 하지 않는 경우 다음과 같은 에러가 발생할 수 있다.
Your original request has been modified.
"Anyframe Query Manager" is already installed, so an update will be performed instead.
Cannot complete the install because of a conflicting dependency.
Software being installed: Anyframe Query Manager 2.1.7 (anyframe.querymanager.eclipse.core.feature.group 2.1.7)
Software currently installed: Anyframe Common 3.1.0 (anyframe.common.eclipse.core.feature.group 3.1.0)
Only one of the following can be installed at once:
Anyframe Common 3.1.0 (anyframe.common.eclipse.core 3.1.0)
Anyframe Common 3.1.1 (anyframe.common.eclipse.core 3.1.1)
...
압축파일로 배포되는 Anyframe Query Manager는 다음과 같은 순서에 의하여 설치한다.
Anyframe Query Manager를 설치하기 위한 System Requirements 를 확인한다.
Anyframe Query Manager의 최신 배포판을 http://www.anyframejava.org/download/tools/anyframe/querymanager 에서 확인한다.
Anyframe Query Manager의 최신 배포판("anyframe.querymanager.eclipse_x.x.x-bin.zip")을 사용자의 컴퓨터에 내려받는다.
내려받은 최신 배포판의 압축을 원하는 폴더에 푼다.
압축을 풀어서 나온 플러그인 패키지 파일("anyframe.querymanager.eclipse_x.x.x.jar")을 "[eclipse 설치 폴더]/dropins/anyframe/eclipse/plugins"나 "[eclipse 설치 폴더]/plugins"로 이동시킨다.
Eclipse가 실행중이라면 다시 시작시킨다.
"About Eclipse Platform (또는 About Eclipse SDK) > Plug-in Details"를 통해 정상적으로 설치되었는 지 확인한다.
☞ About Eclipse Platform (또는 About Eclipse SDK) 메뉴는 Windows용 Eclipse의 경우 Help 메뉴에서, Mac OS X용 Eclipse의 경우 Eclipse 메뉴에서 확인할 수 있다.

Anyframe Query Manager의 설치가 완료되었다.
Anyframe Query Manager 2.0.0 버전을 포함한 하위 버전에서 2.1.0 이상 버전으로 업그레이드를 할 경우에는 다음과 같은 순서를 따른다.
Eclipse SQL Explorer 버전 변경 : "[eclipse 폴더]/dropins/[Eclipse SQL Explorer 설치 폴더]"나, "Help > About Eclipse"를 통해 기존에 존재하던 3.5 RC 버전을 삭제한 후, 3.5.1 버전을 설치한다.
☞ Eclipse SQL Explorer 3.5.1 버전을 설치해야 하며, 패키지 구성의 오류로 인하여 Eclipse의 Software Updates 기능을 이용하여 설치하는 것을 권장한다.
Anyframe Query Manager 요구사항
Anyframe Query Manager 2.1.0이상 버전의 경우, 다음과 같은 요구사항을 충족해야 한다.
Eclipse IDE for Java EE Developers (Galileo) Anyframe Common 3.1.1 Eclipse SQL Explorer 3.5.1
Ecipse IDE for Java EE Developers 이외의 Package를 사용할 경우
Eclipse IDE for Java EE Devlopers 패키지는 다른 패키지에 비하여 개발자에게 유용한 다양한 플러그인을 포함하고 있으며, Anyframe을 활용한 개발을 위하여 권장하는 패키지이다. 다만, 필요에 의하여 이외의 Eclipse IDE 패키지에 Anyframe Query Manager를 설치, 사용하고자 한다면 다음의 플러그인 의존관계(Plug-ins Dependencies)를 확인하여, 해당 플러그인을 설치한 후 Anyframe Query Manager를 설치, 사용한다.
org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.core.resources, org.eclipse.ui.views, org.eclipse.ui.ide, org.eclipse.ui.editors, org.eclipse.ui.workbench.texteditor, org.eclipse.jface.text, org.eclipse.jdt.ui, org.eclipse.jdt.core, org.eclipse.wst.xml.ui, org.eclipse.wst.xml.core, org.eclipse.wst.sse.core, org.eclipse.wst.sse.ui, org.eclipse.search, net.sourceforge.sqlexplorer, org.eclipse.core.filesystem, org.eclipse.ui.forms, anyframe.common.eclipse.core
Query Manager Perspective 는 Anyframe Query Manager의 활용에 기본적으로 필요한 각종 View와 Editor를 구성하여 보여주며, 다음 그림의 모습과 유사한 형태를 띈다.

Query Manager의 주요 구성화면은 다음과 같다.
Query Explorer View: 사용자의 Eclipse 프로젝트 전체에 대하여 Query의 검색 및 조회 기능 제공
Query Results View: Query 테스트 시 결과값 출력
Query Manager Editor: Query 맵핑 XML 파일을 작성하는 편집기
Query Test Editor: Query ID를 추가/편집 하는 편집기
Connections View: Eclipse SQL Explorer의 확장 기능으로, 데이터베이스 연결 설정 및 해당 연결 관리
Database Structure View: Eclipse SQL Explorer의 확장 기능으로, 데이터베이스 구조 파악 기능을 제공
Anyframe Query Manager의 Query Manager Perspective는 "Window > Open Perspective > Other..." 또는 Eclipse 창의 우상단에 위치한 "Open Perspective" 아이콘을 통해 열 수 있다.

Connections View는 사용자가 DBMS의 특정 데이터베이스에 연결할 수 있는 커넥션 프로파일을 생성할 수 있게 하며, 해당 커넥션을 생성하고 관리할 수 있게 한다. 새 로운 커넥션 프로파일을 생성하려면 Connections View에서 Context Menu를 통해 "New Connection Profile..."을 선택한 후, 필요한 정보를 입력한다. 사용자의 환경에 따라 Eclipse 환경설정에서 JDBC 드라이버를 설정("Preferences > SQL Explorer > JDBC Drivers")할 필요가 있을 수 있다.

또한, 사용자는 Query 맵핑 XML 파일에 실제 Query를 작성하기 전에, SQL Editor를 통하여 해당 Query를 테스트할 수 있다. SQL Editor는 데이터베이스 커넥션이 생성될 때 자동으로 열리며, SQL Editor를 닫았거나 추가적으로 더 열려면 해당 커넥션에 대한 Context Menu에서 "New SQL Editor"를 선택한다.
Query Manager는 사용하고자 하는 Connection 단 하나만을 Connection View에 등록해야 정상 작동한다.
Query Manager는 Property 셋팅을 통해 Query ID를 관리하고자 하는 Query 맵핑 파일을 추가할 수 있다. 여기에 추가한 XML 파일내에 있는 ID들만이 앞으로 나올 Query Explorer View에서 나타난다.
또한 Query ID의 사용 여부, 중복 여부를 보여주는 설정이 가능하며 Query ID를 새로 생성할 때 Query에 대한 정보를 주석으로 남길 것인지에 대한 설정 역시 가능하다.
XML 파일을 추가하는 방법은, 프로젝트 내의 경로를 찾아가 추가하는 방법과, 관리 대상이 될 수 있는 XML 파일들 중에 고르는 방법 두가지가 있다.
Query Explorer View는 프로젝트 별로 설정된 Query 맵핑 XML의 Outline 및 Query ID의 사용여부, 중복 여부를 설정된 아이콘을 통해 쉽게 파악하는 기능을 제공한다.
Query Explorer View는 Anyframe Query Manager Perspective를 열면 자동으로 뜨며, 다음과 같은 방법으로도 열 수 있다.
Eclipse 메뉴를 통해서 열기
"Window > Show View > Other..."에서 Query Navigator 선택

Query Explorer View는 다음과 같은 요소들로 구성되어 있다.

Query ID Tree
Query Manager Nature를 설정한 프로젝트 내의 Query 맵핑 XML 파일들 중, Property에 등록한 파일들에 대한 정보가 트리 형태로 나타난다.
각각의 Query ID는 DAO 클래스에서 사용여부를 알 수 있으며, 중복된 Quer ID 역시 나타낸다.
표 2.1. Query ID Icon
| Icon | Description |
|---|---|
![]() | 사용중인 Query ID |
![]() | 사용중이지 않은 Query ID |
![]() | 사용중이며 중복된 Query ID |
![]() | 사용중이지 않으며 중복된 Query ID |
Query Statement
상단의 Query ID Tree에서 ID를 선택하게 되면, 해당 ID에 대한 쿼리문이 나타나게 된다.
Link with Editor
열려있는 Query 맵핑 XML 파일의 위치가 Query ID Tree에 나타난다.
Query Results View는 Query Test Editor를 통한 Query 작성 시 수행한 Query 테스트의 결과를 표시하는 기능을 제공한다. Query Results View는 다음과 같은 방법으로 열 수 있다.
"Window > Show View > Other..."에서 Query Results 선택

Query Manager Editor는 Query 맵핑 XML 파일을 Anyframe Query Manager Perspective에서 열 때 기본적으로 사용하는 에디터로, Query Test Editor 및 수작업으로 Query를 추가, 변경, 삭제할 수 있도록 하는 기능을 제공한다. 원하는 Query 맵핑 XML 파일을 Query Manager Editor를 통하여 열기 위해서는 해당 파일의 Context Menu에서 "Open With > Query Manager Editor"를 선택한다.
Query Manager Editor는 Design 탭과 Source 탭의 두가지 표시방법을 제공한다.

Query Manager Editor는 Design 탭과 Source 탭의 두가지 표시방법을 제공한다.
Design 탭
Query 맵핑 XML 파일의 구조적인 형태를 그리드를 통하여 표시해 준다. Context Menu를 통해 Query의 추가/변경/삭제, Query 검색 및 특정 어트리뷰트 등을 추가할 수 있다.

Source 탭
Query 맵핑 XML 파일의 XML 태그를 소스형태로 표시한다. Context Menu를 통해 Query의 추가/변경을 위한 Query Wizard 실행 및 Query 검색, Java 클래스 네비게이션 등을 수행할 수 있다. 또한, 숙련된 사용자를 위해 Query 맵핑 XML 파일에서 사용이 가능한 각종 태그를 Content Assist 를 통해 제공함으로써 빠르고 편리한 파일 편집을 도와준다.

Query Test Editor는 Query ID를 추가하거나 편집할 경우 사용하는 에디터이다. 입력한 Query문에 대해서 테스트를 실행해 Result View에서 미리 결과를 확인할 수 있다.
Query Test Editor는 Query Explorer View를 통해 열 수 있다.
Anyframe Query Manager의 환경설정은 Eclipse Preferences 창을 통해 수행한다. 환경설정에서 정의한 접두사(prefix) 및 접미사(suffix)는 Anyframe Query Manager가 AbstractDAO를 상속받은 DAO에 대하여 Content Assist 를 정상적으로 수행할 수 있도록 하는데 사용된다.

환경설정을 통해 저장된 정보는 AbstractDAO에서 정의한 Query 및 VO(Value Object) 등의 접두사(prefix) 및 접미사(suffix)를 특정 개발환경에서 사용자화한 내용을 반영해야 한다. 참고로, "접두사(prefix) 및 접미사(suffix)에 대한 사용자화"는 AbstractDAO에 대한 bean 설정을 통해 이루어지며, 이를 활용하기 위해 사용자는 다른 코드의 수정없이 Anyframe Query Manager의 환경설정창을 통해 해당 내용을 반영할 수 있다.
본 장에서는 Anyframe Query Manager를 활용하여 Query XML 파일을 생성하고, 해당 Query XML 파일에 원하는 Query를 추가/변경/활용/삭제하는 방법에 대해 알아본다. 이를 위해 Query Editor 및 Query Test Editor 등을 통한 Query 추가/수정에 대해 살펴보고, Content Assist를 이용한 Query 활용방법에 대해서도 살펴본다.
사용자는 새로운 Query 맵핑 XML 파일을 Eclipse 메뉴 혹은 Context Menu를 통해 생성할 수 있다.
Eclipse 메뉴를 통해서 열기
"File > New > SQL XML File" 선택
Context Menu를 통해서 열기
Eclipse Package Explorer 등에서 Context Menu의 "New > SQL XML File" 선택
새로운 Query 맵핑 XML 파일을 생성할 때에는 다음과 같은 사항을 확인한다.
Eclipse 프로젝트 및 폴더 이름을 확인한다. 지정된 위치에 Query 맵핑 XML 파일이 생성된다.
Query 맵핑 XML 파일의 확장자는 반드시 ".xml"이어야 한다.
고유한 파일이름을 부여했는 지 확인한다. Query 맵핑 XML 파일의 이름은 지정된 프로젝트 및 폴더 내에서 고유해야 하며, 해당 사항은 파일 생성 시 자동으로 검증된다.

Query 맵핑 XML 파일에 Query를 추가하는 방법은 크게 두가지가 있다.
숙련된 사용자의 경우, Query Manager Editor에서 직접 Query를 작성하는 것이 더욱 편리하고 빠를 수 있으나, 관련된 내용을 일일이 확인하고 별도의 테스트를 수행해야 하므로 오류의 위험이 다소 존재한다. Query Test Editor를 활용할 경우에는 매 Query 작성 시 마다 Query Test Editor를 실행시켜 작성해야 하므로, 일정 기간이 지나면 번거로움을 느낄 수 있다. 그러므로, Anyframe Query Manager를 활용할 경우, 개발의 초반부 어느 정도의 Query문 작성 때까지는 Query Test Editor를 활용하고, 이후 Query 작성이 패턴화되어 기존의 Query를 Copy and Paste하여도 큰 무리가 없다고 판단되면 직접작성하는 것을 권장한다.Query Test Editor를 통한 Query문 작성은 데이터베이스/테이블/컬럼 등의 정보를 GUI를 통해 마우스 조작으로 입력할 수 있고, 작성하고 있는 Query문을 Query Test Editor를 종료하지 않고서도 테스트해 볼 수 있는 장점이 있다.
Query Test Editor를 활용하여 Query문을 작성하는 절차는 다음과 같다.
Query Test Editor 실행
Query Test Editor는 Query Explorer View 에서 Query 맵핑 XML 파일명의 Context Menu를 통해 실행한다.
Context Menu에서 Add Query 실행하기

Query문 작성 및 테스트
Query를 작성하기 위해 Query ID, Query문 등을 입력하고 작성한 Query문을 테스트하고, Ctrl+S 혹은 Eclipse 툴바의 저장 버튼을 클릭하여 Query 맵핑 XML파일에 Query문을 추가한다

Query ID를 부여할 때에는 고유한 Query ID를 부여해야 하며, 그렇지 않을 경우 Query Test Editor에서 오류메시지를 제공한다. Query문을 작성할 때에는 "Query Statement" 텍스트필드에 Query문을 작성하며, 테이블명이나 컬럼명 등은 우측의 "Database Browser"의 해당 테이블명 혹은 컬럼명을 더블클릭하면 자동으로 Query문 작성영역에 입력된다.
Dynamic Query를 작성할 경우, "Input Parameter Information"의 "Get Parameters" 버튼을 클릭하여 Query문의 변수와 동기화를 시킬 수 있으며, Velocity 문법을 활용한 Dynamic Query일 경우에는 "Dynamic Query" 체크박스가 자동으로 체크된다.
Query문 작성이 완료되면 적절한 테스트값을 부여하여 Query문을 테스트한다. 테스트를 하기 위해서는 Test Query 버튼클릭 이나 Ctrl + Enter를 이용한다. 이 때 테스트 결과는 Query Results View 에 나타나며, 데이터 개수가 많을 경우에는 "Row Limit"의 값을 변경시켜 출력개수를 적절하게 조절할 수 있다.
Query Test Editor를 통해 Query 맵핑 XML에 해당 Query문이 추가되고 사용자가 손쉽게 확인할 수 있다.

비록 GUI 환경의 이점을 살릴 수는 없지만, 숙달된 사용자나 재사용할 수 있는 Query문이 어느정도 이상 축적되었을 경우에는 Query Manager Editor를 활용한 Query문의 직접 작성이 작업의 효율을 더욱 높일 수 있다. 또한, Query Manager Editor는 Content Assist를 통해 Query 맵핑 XML의 DTD에 정의된 각종 태그 및 어트리뷰트 등을 제공하므로, 기존 Query문에 대한 손쉬운 응용 및 개선이 가능하다.
Query 맵핑 XML의 구조, 각 태그 및 어트리뷰트에 대한 상세설명은 Anyframe매뉴얼의 Query Service 부분을 참고한다.
Query 맵핑 XML 파일에 존재하는 기존의 Query를 수정하는 방법은 크게 두가지가 있다.
Query Test Editor를 통한 Query문 수정은 Query Explorer View에서 Query ID의 Context Menu를 통해 실행한다. 실행된 Query Test Editor에서 Query문을 수정할 때에는 Query Test Editor를 활용한 Query문 추가 와 동일한 방법을 따른다.

Query Manager Editor를 통한 Query문 수정은 기존의 Query문을 편집한다는 점만 제외하고는 새로운 Query문을 추가하는 것과 동일한 방법을 따른다. 보다 자세한 사항은 Query Manager Editor를 활용한 Query문 추가 를 참고한다.
Query 맵핑 XML 파일에 존재하는 기존의 Query를 삭제하는 방법은 크게 세가지가 있다.
Query Explorer를 통해서 Query문을 삭제하고자 할 때에는 Query Explorer View에서 해당 Query ID를 선택하고, Context Menu의 "Remove Query"를 실행한다.

Context Menu를 통해서 Query문을 삭제하고자 할 때에는 Query Manager Editor의 Design탭에서 해당 Query를 선택하고, Context Menu의 "Remove"를 실행한다.

Query문을 직접 삭제하고자 할 때에는 Query Manager Editor의 Source 탭에서 해당하는 Query를 선택한 후 삭제한다. 이때, 선택할 범위는 삭제하고자 하는 Query문이 포함된 <query>와 </query> 로 묶인 범위이다.

Anyframe Query Manager는 Content Assist 기능을 제공함으로써 사용자가 보다 편리하고 빠르게 Query문을 편집하고 활용할 수 있도록 한다. 사용자는 Eclipse의 다른 Content Assist와 동일하게 키보드 단축키(기본값으로 Ctrl+Space)를 통해 Anyframe Query Manager의 Content Assist가 제공하는 기능을 활용할 수 있다.
Content Assist의 환경설정은 Eclipse Preferences의 "Java > Editor > Content Assist > Advanced"에서 설정하며, Anyframe Query Manager의 Content Assist가 단축키의 호출대상이 될 지의 여부를 정한다.

Eclipse Java Editor에서 Anyframe의 Query Service를 활용한 DAO(IQueryService를 활용하거나 AbstractDAO를 상속받았을 때)에 대하여 Content Assist가 Query ID에 대한 후보목록을 보여준다. 이 기능은 Query Service의 메소드가 인자로 받는 Query ID(String 타입으로 " "로 묶인 부분) 입력부분에서 키보드 단축키를 통해 Content Assist를 호출했을 때 제공된다.

해당하는 메소드가 AbstractDAO로 부터 상속받는 create(), findByPk(), findListWithPaging(), update(), remove() 등일 경우, Anyframe Query Manager의 Preferences 에서 정의한 prefix와 suffix 규칙을 따르는 Query문만 Content Assist를 통해 조회된다.
Anyframe Query Manager의 Query Manager Editor의 Source 탭에서 Query 편집 시Query 맵핑 XML의 태그 및 어트리뷰트에 대한 후보목록을 보여준다.
Anyframe Query Manager는 Context Menu를 통해 DAO와 관련된 Query문이나 Query문과 관련된 VO를 손쉽게 찾아서 열 수 있는 기능을 제공한다.
DAO에서 사용하는 특정 Query문의 내용을 확인하고 싶을 때, Query 맵핑 XML 파일이 너무 많거나 Query문이 너무 많다면 해당 Query문이 어디에 있는 지 알기 어려울 수 있다. 이를 위해 Anyframe Query Manager는 Context Menu를 통해서 해당 Query문을 바로 열 수 있는 기능을 제공한다.
본 기능을 활용하는 방법은 다음과 같다.
DAO에서 활용하고 있는 Query문 중 바로 열고자 하는 Query ID를 마우스 더블클릭 등을 통해 선택하여 반전(하이라이트)시킨 후, Context Menu에서 "Open Query in Query Manager Editor"를 선택한다.

바로 열고자 선택한 Query ID가 Query Manager Editor를 통해 열리고, 해당 Query ID가 반전되어 있는 것을 확인할 수 있다.

Query문에서 사용하는 Query가 어떤 DAO에서 사용되는지 확인하고 싶을 때, 해당 DAO를 찾아가기 번거로울 수 있다. 이를 위해 Anyframe Query Manager는 Context Menu를 통해서 해당 DAO를 바로 열 수 있는 기능을 제공한다.
본 기능을 활용하는 방법은 다음과 같다.
Query문에서 활용하고 있는 VO를 마우스 더블클릭 등을 통해 선택하여 반전(하이라이트)시킨 후, Context Menu에서 "Open Class in Java Editor"를 선택한다.
바로 열고자 선택한 Query ID가 Java Editor를 통해 열린다.

본 장에서는 사용자의 Eclipse 프로젝트에 Anyframe Query Manager의 Nature를 적용하여 유용한 정보를 얻는 방법에 대하여 알아본다.
프로젝트 네이쳐(Nature)는 플러그인이 해당 프로젝트를 특별한 종류의 프로젝트로 간주하게 한다. Anyframe의 Query Service를 활용하는 프로젝트는 Anyframe Query Manager의 Nature를 설정함으로써, 해당 프로젝트에 대해 유용한 기능을 제공할 수 있게 한다.
Anyframe Query Manager Nature를 설정하는 주된 목적은 Anyframe Query Manager가 제공하는 Anyframe Builder의 기능을 해당 프로젝트(Java Project)에서 사용하게 하는 것이다.
Anyframe Query Manager Nature를 특정 Java 프로젝트에 적용하기 위해서는 해당 프로젝트의 Context Menu에서 "Anyframe Query Manager > Add Anyframe Query Manager Nature"를 선택한다. Anyframe Query Manager Nature가 활성화되어 적용되면, "Anyframe Builder"의 기능이 해당 프로젝트에 적용된다. 이미 적용한 Anyframe Query Manager Nature를 해제하기 위해서는 Context Menu에서 "Anyframe Query Manager > Remove Anyframe Query Manager Nature"를 선택한다.

Anyframe Builder는 Eclipse 프로젝트 안의 중복된 Query ID 를 찾아내며, 중복된 Query ID가 있을 경우에는 붉은색 오류(Error) 표식을 Query Manager Editor 의 해당 Query문 부분에 표시하며, Eclipse의 Problems View에 해당 오류를 출력하게 한다.
또한, 특정 Query가 어떠한 DAO에서도 활용되지 않았을 경우에는 노란색 경고(Warning) 표식을 마찬가지 방법으로 Query Manager Editor 및 Problems View에 표시한다.
Anyframe Query Manager Nature 가 해당 프로젝트에 대하여 적용(활성화; "Context Menu: Anyframe Query Manager > Add Anyframe Query Manager Nature")되었을 경우, 다음과 같은 조건을 만족할 때 Anyframe Builder의 작업이 수행된다.
프로젝트 내의 리소스 추가 이벤트가 발생하였을 때
프로젝트 내의 리소스 변경 이벤트가 발생하였을 때
프로젝트 내의 리소스 삭제 이벤트가 발생하였을 때
프로젝트 내부 혹은 외부로부터 특정 리소스를 Copy and Paste 하였을 때
Query Explorer View를 Refresh 했을 때
위의 모든 경우에 대하여 "리소스"는 Query 맵핑 XML 파일을 의미하며, 표시된 오류나 경고에 대해서는 사용자가 직접 문제점을 해결하기 전까지는 해당 표식은 사라지지 않는다.
Anyframe Builder에 의해서 제공되는 중복 Query ID 표시는 사용자에게 Query ID에 대한 현상황을 효과적으로 표시해 준다. 다음 화면은 각각 Anyframe Query Manager Nature의 적용 전후를 나타내며, 이를 통해 중복된 Query ID에 대하여 오류 표식의 유무가 달라짐을 알 수 있다.

Anyframe의 Query Service를 활용하는 DAO 파일이 존재하지 않는 Query ID를 참조할 때, 해당 DAO 파일의 Query ID 위치에 붉은색 오류(Error) 표식이 표시된다.
Anyframe Query Manager의 Anyframe Builder 는 Query 맵핑 XML 파일의 변경사항을 추적하기 때문에, 유효하지 않은 Query ID를 참조하고자할 때에는 오류 표식이 나타나게 되며, 이를 통해 사용자는 다음과 같은 이점을 얻을 수 있다.
Anyframe의 Query Service를 활용하는 DAO에서 참조하는 Query ID가 모두 존재하는 것을 확인할 수 있다.
유효하지 않은 Query ID로 인해 발생하는 Run-Time 오류를 사전에 방지할 수 있다.