inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

값 타입 컬렉션

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

308

nolimit6277

작성한 질문수 3

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=?

java JPA

답변 2

0

nolimit6277

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

0

김영한

안녕하세요. nolimit6277님

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

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

https://bit.ly/3fX6ygx

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

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

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

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

감사합니다.

 

실무 조언 관련 질문입니다.

0

35

1

H2데이터베이스 파일 생성

0

45

2

서브쿼리 강의에서 ALL 예시 관련 질문드립니다.

0

47

2

수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?

0

45

1

JPQL 메소드와 락

0

47

1

Delivery @OneToOne

0

54

1

17강 4~5분대 테이블 값 조회가 안됩니다.

0

84

2

UnsupportedOperationException 발생

0

80

3

H2 Database 연결이 안됩니다.

0

86

2

연관관계 매핑 질문드립니다.

0

77

2

h2데이터베이스 실행오류

0

103

2

persistence.xml

0

100

2

양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?

0

74

1

영속성 컨텍스트

0

59

1

JPA 프록시

0

86

1

Native Query와 MyBatis

0

60

1

영속성 컨텍스트는 어떤 메모리에 저장되는건가요?

0

81

1

임베디드 타입 예시 코드 관련 질문

0

110

3

명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요

0

89

3

인텔리제이 패키지 커서 단축키 질문

0

99

2

혹시 현재는 ID 데이터 타입이 String이면 안되나요?

0

133

1

양방향 연관관계 시 연관관계 주인을 설정하는 이유

0

67

1

임베디드 타입과 MappedSuperClass의 차이점이 궁금합니다.

0

95

1

데이터베이스가 초기화되는 것 같아요

1

172

2