어노테이션이 있는 메소드 및 인라인 메소드에서
실행하는 쿼리의 쿼리 결과에 대한 커서 속성을 설정할 수 있습니다. 이러한 속성을 사용하여
스크롤이 가능하거나 갱신 가능한 쿼리 결과를 작성할 수 있습니다.
다음 속성을 설정할 수 있습니다.
- ResultSet 오브젝트에 대한 동시성 모드를 정의하는 속성
- java.sql.ResultSet.CONCUR_READ_ONLY
- 쿼리 결과가 열려 있는 동안 커서가 갱신을 방지함을 지정하는
정수 상수입니다.
- java.sql.ResultSet.CONCUR_UPDATABLE
- 쿼리 결과가 열려 있는 동안 커서가 갱신을 허용함을 지정하는
정수 상수입니다.
주의: pureQuery는 어노테이션이 있는 메소드에 대해(인라인 메소드는
아님) 위치 지정된 갱신 사항 및 삭제 사항을 지원합니다.
- Connection.commit() 메소드가 호출될 때
ResultSet 오브젝트를 닫아야 하는지 여부를 정의하는 속성
- java.sql.ResultSet.CLOSE_CURSORS_AT_COMMIT
- 트랜잭션 종료 시 커서가 닫힘을 지정하는 정수 상수입니다.
- java.sql.ResultSet.HOLD_CURSORS_OVER_COMMIT
- 트랜잭션 종료 시 커서가 열린 채 유지됨을 지정하는 정수 상수입니다.
- ResultSet 오브젝트에 대한 유형을 정의하는 속성
- java.sql.ResultSet.TYPE_FORWARD_ONLY
- 커서가 앞으로만 이동할 수 있음을 지정하는 정수 상수입니다.
- java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE
- 커서가 앞뒤로 이동할 수 있음을 지정하는
정수 상수입니다. 쿼리 결과가
데이터의 스냅샷을 제공합니다.
- java.sql.ResultSet.TYPE_SCROLL_SENSITIVE
- 커서가 앞뒤로 이동할 수 있음을 지정하는
정수 상수입니다. 쿼리 결과는
커서가 보류되어 있는 동안 데이터에 작성된 변경사항을 반영합니다.
- Linux®, UNIX® 및 Windows®용 DB2® 데이터베이스 또는
z/OS®용 DB2에 대해
바인드되어 있는 쿼리에 이 속성을 사용하는 경우,
커서는 SENSITIVE STATIC SCROLL 커서로 바인드됩니다. 이 커서 유형에 대한 자세한 정보는
DB2 for z/OS Application Programming and SQL Guide를
참조하십시오.
속성을 명시적으로 설정하지 않는 경우,
pureQuery는 디폴트로 다음 속성을 사용합니다.
- java.sql.ResultSet.CONCUR_READ_ONLY
- java.sql.ResultSet.CLOSE_CURSORS_AT_COMMIT
- java.sql.ResultSet.TYPE_FORWARD_ONLY
어노테이션이 있는 메소드를 사용하여 커서 속성 설정
@Cursor
어노테이션을 @Select 어노테이션과 함께 사용하여
쿼리 결과에 대해 원하는 커서 속성을 지정할 수 있습니다. 데이터베이스에 대해 SQL문을 실행하는
어노테이션이 있는 메소드에 대한 구문 다이어그램을 참조하십시오.
인라인 메소드를 사용하여 커서 속성 설정
Data 인터페이스의
다음 메소드 중 하나를 사용하십시오.
- public <T> T query (int type, int concurrency, int holdability,
String sql, ResultHandler<T> handler, Object... parameters);
- public
Iterator<Map<String, Object>> queryIterator (int
type, int concurrency, int holdability, String sql, Object... parameters);
- public <T> Iterator<T> queryIterator (int type, int concurrency,
int holdability, String sql, Class<T> returnClass, Object... parameters);
- public <T> Iterator<T> queryIterator (int type, int concurrency,
int holdability, String sql, RowHandler<T> rowHandler, Object...
parameters);
- public ResultSet queryResults (int type, int
concurrency, int
holdability, String sql, Object... parameters);
이러한 메소드에 대한 정보는
Data 인터페이스에 대한 pureQuery Javadoc을
참조하십시오.