인프런 커뮤니티 질문&답변

nolimit6277님의 프로필 이미지
nolimit6277

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

값 타입 컬렉션

@orderColumn에서 update 쿼리 관련 질문이 있습니다

작성

·

236

0

안녕하세요 강의를 듣던 중에 궁금한게 생겨서 남겨봅니다.

@OrderColumn을 사용해서 AddressEntity 값 3개를 Member AddressHistory에 추가해보았고, 0,1,2로 값이 잘 나오는 걸 확인했습니다. 그런데 제가 0번 값을 삭제 해보았는 데, 예상했던 결과는 총 2번의 update 쿼리 후 1번의 delete 쿼리가 나가는 거였지만, 5번의 update 쿼리 후 1번의 delete 쿼리가 나갔습니다. 왜 이렇게 되는 지 이해가 안되서 올려봅니다.

Hibernate:

select

addresshis0_.MEMBER_ID as MEMBER_I5_0_0_,

addresshis0_.id as id1_0_0_,

addresshis0_.POSITION as POSITION6_0_,

addresshis0_.id as id1_0_1_,

addresshis0_.city as city2_0_1_,

addresshis0_.street as street3_0_1_,

addresshis0_.zipcode as zipcode4_0_1_

from

ADDRESS addresshis0_

where

addresshis0_.MEMBER_ID=?

Hibernate:

/* delete one-to-many row jpabook.jpashop.domain.Member.addressHistory */ update

ADDRESS

set

MEMBER_ID=null,

POSITION=null

where

MEMBER_ID=?

and id=?

Hibernate:

/* delete one-to-many row jpabook.jpashop.domain.Member.addressHistory */ update

ADDRESS

set

MEMBER_ID=null,

POSITION=null

where

MEMBER_ID=?

and id=?

Hibernate:

/* delete one-to-many row jpabook.jpashop.domain.Member.addressHistory */ update

ADDRESS

set

MEMBER_ID=null,

POSITION=null

where

MEMBER_ID=?

and id=?

Hibernate:

/* create one-to-many row jpabook.jpashop.domain.Member.addressHistory */ update

ADDRESS

set

MEMBER_ID=?,

POSITION=?

where

id=?

Hibernate:

/* create one-to-many row jpabook.jpashop.domain.Member.addressHistory */ update

ADDRESS

set

MEMBER_ID=?,

POSITION=?

where

id=?

Hibernate:

/* delete jpabook.jpashop.domain.AddressEntity */ delete

from

ADDRESS

where

id=?

답변 2

0

nolimit6277님의 프로필 이미지
nolimit6277
질문자

제가 다시 코드를 짜서 돌려봤더니 update 쿼리가 제가 예상한 대로 2개 나오고 delete 쿼리가 나오네요. 제가 멀 잘못했던 건 지 한번 알아봐야겠습니다. 답변해주셔서 감사합니다.

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. nolimit6277님

전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx

주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요

추가로 다음 내용도 코멘트 부탁드립니다.

1. 실행 방법을 알려주세요.

2. 어떻게 문제를 확인할 수 있는지 자세한 설명을 남겨주세요.

감사합니다.

 

nolimit6277님의 프로필 이미지
nolimit6277

작성한 질문수

질문하기