Table Id Generation Service를 커스텀하고 싶습니다.
- 작성자 :
- 질*
- 작성일 :
- 2019-02-28 16:03:24
- 조회수 :
- 1,586
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
안녕하세요. 전자정부 3.7버전을 사용 중입니다. db는 mysql, oracle 둘 다 이용 중이라 시퀀스가 아닌, Table Id Generation Service를 이용하고 있습니다. 하나 궁금한 점이 Table Id Generation Service의 integer id 시작값은 0부터 시작하게 되어 있는데 내부적인 이유로 이것을 1부터 시작하게 하려합니다.
1월 달에 질문을 한번 했었는데 당시 답변으로는 Table Id Generation Service를 커스텀하여 사용하라고 했었습니다. Table Id Generation Service를 커스텀하려면 정확히 어떤 부분을 수정해야 하는지 궁금합니다.
저 답변을 받고 찾아보니 EgovIdGnrService Interface를 implement해서 구현해놓은 AbstractIdGnrService에서 getNextIntegerId()가 정의되어 있는 것 같은데 전자정부에서 제공하는 기본 class 파일이라 이 두 파일에 대해서는 수정하기 어렵고 따로 구현을 해서 사용하라는 뜻으로 이해하였습니다.
정확히 어떤 파일을 상속받거나 구현해야하는지 도움 부탁드립니다.
1월 달에 질문을 한번 했었는데 당시 답변으로는 Table Id Generation Service를 커스텀하여 사용하라고 했었습니다. Table Id Generation Service를 커스텀하려면 정확히 어떤 부분을 수정해야 하는지 궁금합니다.
저 답변을 받고 찾아보니 EgovIdGnrService Interface를 implement해서 구현해놓은 AbstractIdGnrService에서 getNextIntegerId()가 정의되어 있는 것 같은데 전자정부에서 제공하는 기본 class 파일이라 이 두 파일에 대해서는 수정하기 어렵고 따로 구현을 해서 사용하라는 뜻으로 이해하였습니다.
정확히 어떤 파일을 상속받거나 구현해야하는지 도움 부탁드립니다.
A
안녕하세요.
표준프레임워크센터 입니다.
egovframework.rte.fdl.idgnr.impl 패키지 하위에 있는
~~~Impl 클래스가 몇개 있는데
목적에 맞는 Impl 클래스를 참조하여 커스텀을 할수 있습니다.
하지만 그것보다는
초기 1로 시작한다면
egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl 를 사용하시고
다음과 같은 설정을 하시면 됩니다.
다음은 공통컴포넌트를 보면 예시가 나와있습니다.
* ID Generation 설정 빈 파일 경로 (참고용)
/src/main/resources/egovframework/spring/com/idgn/context-idgn-Adbk.xml
<bean name="egovAdbkIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
<property name="dataSource" ref="egov.dataSource" />
<property name="strategy" ref="adbkIdStrategy" />
<property name="blockSize" value="10"/>
<property name="table" value="COMTECOPSEQ"/>
<property name="tableName" value="ADBK_ID"/>
</bean>
COMTECOPSEQ테이블에 지정한
ID Key의 값이 "ADBK_ID" 일때 NEXI_ID 컬럼 값이 1이면
getNextStringId() 메소드의 결과로 1을 리턴 받을수 있습니다.
감사합니다.
표준프레임워크센터 입니다.
egovframework.rte.fdl.idgnr.impl 패키지 하위에 있는
~~~Impl 클래스가 몇개 있는데
목적에 맞는 Impl 클래스를 참조하여 커스텀을 할수 있습니다.
하지만 그것보다는
초기 1로 시작한다면
egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl 를 사용하시고
다음과 같은 설정을 하시면 됩니다.
다음은 공통컴포넌트를 보면 예시가 나와있습니다.
* ID Generation 설정 빈 파일 경로 (참고용)
/src/main/resources/egovframework/spring/com/idgn/context-idgn-Adbk.xml
<bean name="egovAdbkIdGnrService" class="egovframework.rte.fdl.idgnr.impl.EgovTableIdGnrServiceImpl" destroy-method="destroy">
<property name="dataSource" ref="egov.dataSource" />
<property name="strategy" ref="adbkIdStrategy" />
<property name="blockSize" value="10"/>
<property name="table" value="COMTECOPSEQ"/>
<property name="tableName" value="ADBK_ID"/>
</bean>
COMTECOPSEQ테이블에 지정한
ID Key의 값이 "ADBK_ID" 일때 NEXI_ID 컬럼 값이 1이면
getNextStringId() 메소드의 결과로 1을 리턴 받을수 있습니다.
감사합니다.