게시판 답글 등록후 새글 등록시 PK중복 버그 문의
- 작성자 :
- 조*형
- 작성일 :
- 2014-02-19 10:21:45
- 조회수 :
- 847
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
게시판를 새로 작성하고 있는데 기존 게시판 게시글 답글 등록후 새글 등록하고 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);
}
}
저 나름 대로 원인을 분석해보니
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);
}
}
A
안녕하세요. 조재형님
아래와 같이 답글에 대한 nttId를 생성하시면 됩니다.
public void insertBoardArticle(Board board) throws Exception {
if ("Y".equals(board.getReplyAt())) {
board.setNttId(nttIdgenService.getNextIntegerId()); // 답글에 대한 nttId 생성
bbsMngDAO.replyBoardArticle(board);
해당 오류는 수정해서 반영하겠습니다.
고맙습니다.
아래와 같이 답글에 대한 nttId를 생성하시면 됩니다.
public void insertBoardArticle(Board board) throws Exception {
if ("Y".equals(board.getReplyAt())) {
board.setNttId(nttIdgenService.getNextIntegerId()); // 답글에 대한 nttId 생성
bbsMngDAO.replyBoardArticle(board);
해당 오류는 수정해서 반영하겠습니다.
고맙습니다.