TODO :
JPA insert 문 직접 작성
(dml : 테이블 데이터 변경 , 트랜잭션을 동반)
@Transactional(트랜잭션을 동반한다.)
@Modifying(테이블 데이터 변경)
:#{#매개변수}
사용법
( Oracle 쿼리문 사용 )
( 객체형식이라면 :#{#} 을 사용해야 한다. )
@Transactional
@Modifying
@Query(value = "INSERT INTO TB_REPLY_BOARD " +
"VALUES(:#{#replyBoard.변수명}), nativeQuery = true)
int insertByBoard(@Param("replyBoard") ReplyBoard board);
예제
/**
* TODO : 게시물 저장
* 최초 생성 (board_group [그룹(자식)번호] , board_parent [부모 번호])
* => 값 : board_group ([부모번호] == [자식번호(bid)]) , board_parent [0 또는 부모번호]
* TODO : JPA insert 문 직접 작성 (dml : 테이블 데이터 변경 , 트랜잭션을 동반)
* => @Transactional(트랜잭션을 동반한다.) , @Modifying(테이블 데이터 변경)
*/
@Transactional
@Modifying
@Query(value = "INSERT INTO TB_REPLY_BOARD " +
"VALUES(SQ_REPLY_BOARD.NEXTVAL , :#{#replyBoard.boardTitle} , :#{#replyBoard.boardContent} " +
", :#{#replyBoard.boardWriter} , 0 ,SQ_REPLY_BOARD.CURRVAL , 0 ,'N', TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') ,NULL , NULL) " , nativeQuery = true)
int insertByBoard(@Param("replyBoard") ReplyBoard board);
'SpringBoot > JPA' 카테고리의 다른 글
SpringBoot - JPA - Pageable 객체 (+ typeScript 예제) (0) | 2023.10.23 |
---|---|
SpringBoot - CSR 과 연동 시 주의점 (CORS) 설정 (0) | 2023.10.19 |
SpringBoot - Hard Delete 와 Soft Delete 개념 (0) | 2023.10.19 |
SpringBoot - JPA - 1 대 1 관계 (0) | 2023.10.19 |
SpringBoot - JPA - 조인 ( 1 대 다 관계 ) (0) | 2023.10.19 |