쿼리 명령문에 대한 커서 속성

어노테이션이 있는 메소드 및 인라인 메소드에서 실행하는 쿼리의 쿼리 결과에 대한 커서 속성을 설정할 수 있습니다. 이러한 속성을 사용하여 스크롤이 가능하거나 갱신 가능한 쿼리 결과를 작성할 수 있습니다.
다음 속성을 설정할 수 있습니다.
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는 디폴트로 다음 속성을 사용합니다.

어노테이션이 있는 메소드를 사용하여 커서 속성 설정

@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을 참조하십시오.

피드백