eGovFrame 표준프레임워크 포털

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

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

본문 영역

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

묻고 답하기

게시판 답글 등록후 새글 등록시 PK중복 버그 문의
  • 작성자

    조*형

  • 작성일

    2014-02-19 10:21:45

  • 조회수

    1,072

  • 구분

    공통컴포넌트

  • 진행상태

    완료

질문

게시판를 새로 작성하고 있는데 기존 게시판 게시글 답글 등록후 새글 등록하고 PK가 중복되는 오류가 발생합니다

저 나름 대로 원인을 분석해보니

EgovBBSManageServiceImpl에서
public void insertBoardArticle(Board board) throws Exception {
// SORT_ORDR는 부모글의 소트 오더와 같게, NTT_NO는 순서대로 부여

if ("Y".equals(board.getReplyAt())) {
// 답글인 경우 1. Parnts를 세팅, 2.Parnts의 sortOrdr을 현재글의 sortOrdr로 가져오도록, 3.nttNo는 현재 게시판의 순서대로
// replyLc는 부모글의 ReplyLc + 1

//String tmpParnts = board.getParnts();

@SuppressWarnings("unused")
long tmpNttId = 0L; // 답글 게시물 ID

tmpNttId = bbsMngDAO.replyBoardArticle(board);
<-- getSqlMapClientTemplate().queryForObject("BBSManageDAO.selectMaxNttId"); 카운트만 하고 채번 테이블을 증가시키지 않는 것 같습니다

} else {
// 답글이 아닌경우 Parnts = 0, replyLc는 = 0, sortOrdr = nttNo(Query에서 처리)
board.setParnts("0");
board.setReplyLc("0");
board.setReplyAt("N");
board.setNttId(nttIdgenService.getNextIntegerId());//2011.09.22<--comtecopseq 테이블 채번후 카운트를 증가하지만

bbsMngDAO.insertBoardArticle(board);
}
}

답변

안녕하세요. 조재형님
아래와 같이 답글에 대한 nttId를 생성하시면 됩니다.

public void insertBoardArticle(Board board) throws Exception {
if ("Y".equals(board.getReplyAt())) {
board.setNttId(nttIdgenService.getNextIntegerId()); // 답글에 대한 nttId 생성
bbsMngDAO.replyBoardArticle(board);

해당 오류는 수정해서 반영하겠습니다.
고맙습니다.

이 페이지의 구성

묻고 답하기