에노테이션이 있는 메소드를 사용하여 pureQuery에서
메모리의 Java 콜렉션을
쿼리할 수 있습니다.
메모리의 Java 콜렉션을 쿼리하는 어노테이션이 있는 메소드를 사용하려면
다음 단계를 수행하십시오.
- 메모리의 Java 콜렉션을 쿼리할 때
사용하려는 메소드를 정의하는 인터페이스를 작성하십시오. 각 메소드에 대한 SELECT문을 포함하려면
@Select 어노테이션을 사용해야 합니다.
- 해당 인터페이스에 대한 구현 클래스를 생성하십시오.
- 애플리케이션에서 구현 클래스의 인스턴스를 작성할 때
Connection 또는 DataSource 오브젝트를 컨스트럭터에 전달하지 마십시오.
예를 들어, 데이터베이스에 대해 실행되는 메소드를 정의하는 CustomerQuery 인터페이스 및
메모리의 Java 콜렉션에 대해 실행되는 메소드를 정의하는 RegionReport 인터페이스가
있다고 가정하십시오. 애플리케이션에서 다음과 같은 코드를 사용하여
해당 인터페이스의 구현 인스턴스를 작성할 수 있습니다.
Connection con = DriverManager.getConnection(...); 1
CustomerQuery cQuery =
DataFactory.getData( CustomerQuery.class, con ); 2
RegionReport inMem =
DataFactory.getData( RegionReport.class ); 3
위 코드에서 수행하는 단계는 다음과 같습니다.
- 데이터베이스에 대한 연결을 작성합니다.
- CustomerQuery 인터페이스의
구현 인스턴스를 작성합니다. Connection 오브젝트가 컨스트럭터에 전달되므로
데이터베이스에 대해 SQL을 실행하기 위해 구현에서 메소드를 사용할 수 있습니다.
- RegionReport 인터페이스의 구현 인스턴스를 작성합니다.
Connection 오브젝트 또는 DataSource 오브젝트가 컨스트럭터에 전달되지 않으므로
이 구현에서 메모리의 Java 콜렉션에 대한
쿼리에 대해서만 메소드를 사용할 수 있습니다.
구현은
스레드 안전하지 않습니다. 사용자가 작성한 스레드에서만
사용하십시오.