메뉴 건너띄기
상단메뉴 바로가기
본문 바로가기

이 누리집은 대한민국 공식 전자정부 누리집입니다.

본문 영역

적용 지원, FAQ, Q&A 게시판을 통해 기술 문제 해결을 지원합니다.

묻고 답하기

공통분류코드 샘플 에러
  • 작성자

    신*식

  • 작성일

    2012-09-19 15:09:20

  • 조회수

    1,813

  • 구분

    공통컴포넌트

  • 진행상태

    완료

질문

시스템 관리 > 공통분류 코드 화면에서 등록 메뉴를 누르면 보이는 코드 등록 페이지에서 저장 버튼을 누르면 에러가 발생합니다.
에러 사항은 아래와 같습니다.
(EgovCcmCmmnClCodeManageController.java 파일의 95 라인을 수행하며 에러 발생)

[에러발생구문]
CmmnClCode vo = cmmnClCodeManageService.selectCmmnClCodeDetail(cmmnClCode);


[에러]
2012-09-19 11:05:43,780 ERROR [egovframework.com.cmm.EgovComExcepHndlr] egovframework.com.sym.ccm.ccc.service.impl.EgovCcmCmmnClCodeManageServiceImpl.selectCmmnClCodeDetail
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForObject(MappedStatement.java:139)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:519)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:494)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)
at org.springframework.orm.ibatis.SqlMapClientTemplate$1.doInSqlMapClient(SqlMapClientTemplate.java:270)
at org.springframework.orm.ibatis.SqlMapClientTemplate.execute(SqlMapClientTemplate.java:200)
at org.springframework.orm.ibatis.SqlMapClientTemplate.queryForObject(SqlMapClientTemplate.java:268)
at egovframework.rte.psl.dataaccess.EgovAbstractDAO.selectByPk(EgovAbstractDAO.java:129)
at egovframework.com.sym.ccm.ccc.service.impl.CmmnClCodeManageDAO.selectCmmnClCodeDetail(CmmnClCodeManageDAO.java:56)
at

##
요약하면, 새로운 분류코드를 등록할때 기존에 등록된 ID 인지를 확인하는 과정에서 쿼리 결과가 없는 상태에서 CmmnClCode 오브젝트를 반환하며 에러가 발생 하는듯 싶습니다.

##
내용을 약간 수정했더니.. 카테고리 정보가 없어 지네요..

답변

안녕하세요... 신창식님..

없는 경우는 null이 리턴되기 때문에.. 위와 같은 오류가 발생되지 않을 것 같습니다.

적용하신 iBatis 버전이 저희 2.0하고 차이가 있어서.. 정확한 분석은 어렵지만..

해당 query에 대한 건수가 1개어야 하는데.. 그 이상이 나온 것 같습니다...

이 경우는 해당 query에 조건을 추가하시거나.. 업무적으로 1개만 가능하도록 수정하시면 되실 것 같습니다.

그럼.. 즐거운 하루되십시오.
감사합니다.

이 페이지의 구성

묻고 답하기