• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

자동키?가 없는 오라클에서 useGeneratedkey 사용하는 방법??

24.06.13 00:58 작성 조회수 79

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]

오라클의 경우는 시퀀스로 증가하는 방법을 사용하는데, useGeneratedkey를 사용할 방법이 있을까요

답변 1

답변을 작성해보세요.

0

y2gcoder님의 프로필

y2gcoder

2024.06.13

안녕하세요. 김철준님, 공식 서포터즈 y2gcoder입니다.

Oracle은 기본적으로 자동 증가 키를 지원하지 않기 때문에, 말씀하신 것과 같이 시퀀스를 사용해서 만들어줘야 하는 것으로 보입니다! 비슷하게나마 구현을 한다면 아래와 같을 것 같습니다!

예를 들어 oracle sequence의 이름이 my_sequence 라면

<insert id="insertUser" parameterType="com.example.User">
    <selectKey keyProperty="id" resultType="int" order="BEFORE">
        SELECT my_sequence.NEXTVAL FROM DUAL
    </selectKey>
    INSERT INTO users (id, name, email)
    VALUES (#{id}, #{name}, #{email})
</insert>

이런 식으로 해서 id 값을 가져온 후, 넣어줄 수 있을 것 같습니다!

 

감사합니다.

채널톡 아이콘