Anyframe 2.0.0 paging jdbc template 설정이 3.0.0으로 가면서 어떻게 매핑이 되는지요?
이전 Anyframe 2.0.0 기반 시스템에서 paging 처리를 위해
다음과 같은 설정을 사용하였습니다.
<!-- jdbcTemplate -->
<bean
id="exceptionTranslator"
class="systemier.services.queryservice.impl.util.RawSQLExceptionTranslator"/>
<bean
id="pagingNamedParamJdbcTemplate"
class="systemier.services.queryservice.impl.PagingNamedParamJdbcTemplate">
<constructor-arg ref="dataSourceSpy"/>
<property name="exceptionTranslator" ref="exceptionTranslator"/>
</bean>
<bean
id="pagingJdbcTemplate"
class="systemier.services.queryservice.impl.util.PagingJdbcTemplate">
<constructor-arg ref="dataSourceSpy"/>
<property name="exceptionTranslator" ref="exceptionTranslator"/>
</bean>
새로 제공되는 3.0.0의 samples에서는 다음과 같이 설정 되어있습니다.
<!-- The original JdbcTemplate definition -->
<bean id="jdbcTemplate"
class="anyframe.core.query.impl.util.PagingJdbcTemplate">
<property name="dataSource" ref="dataSourceSpy" />
</bean>
<bean id="pagingSQLGenerator"
class="anyframe.core.query.impl.util.OraclePagingSQLGenerator">
</bean>
예전 2.0.0에서 다소 복잡하게 나마 설정되었던 것이 3.0.0에서와 같이만 설정하면 되는 것인지 궁금합니다.
실제로 QueryService에서 직접 injection이 되어서 관계를 파악할 수 있는 bean 외에
암암리에 (?) 같이 선언되어있는 bean 들의 역할과 의존 관계, 설정 방법에 관한 설명이 보완되어야할 것 같습니다.
요컨데 각종 exceptionTranslator, pagingXXXTemplate, XXXExtractor 등에 관한 설명을 추가해주시기를 요청합니다.


질문 감사드립니다.
Anyframe(SYSTEMiER)2.0.0 버전에서 새롭게 추가된 Extended QueryService의 설정과
일반 QueryService의 설정이 다르기 때문에 생겨서 혼돈 하셨을 것 같습니다.
간략하게 말씀 드리면
QueryService의 anyframe.core.query.impl.util.PagingJdbcTemplate를 ref,
ExtendedQueryService를 사용하기 위해 anyframe.core.query.impl.SQLServiceImpl를 사용하셨다면
anyframe.core.query.impl.PagingNamedParamJdbcTemplate를 사용하시는 것이 맞습니다.
버전 차이가 아니라 QueryService의 종류에 따라서 설정방법이 다른 것이니 참고 하시기 바랍니다.
그리고 ExtendedQueryService와 MIPSQLService, NitobiSQLService 등과 같은 확장된 QueryService의
미흡 사항 보완(리팩토링 등)을 검토중입니다.
QueryService의 설정에 대한 자세한 방법과 클래스에 대한 설명등은 그 작업을 진행하면서 병행 하도록
노력하겠습니다.
더 궁금하신 점 있으면 언제든지 문의바랍니다.