엔티티매니저 persist 와 트랜잭션 커밋 관련해서 질문드립니다.
안녕하세요. 영속성 컨텍스트와 관련해서 질문드립니다.
위 테스트를 실행하면 name이 마지막에 변경된 lee로 insert 쿼리가 날라갈것이라고 예상했으나 변경 전 값인 park로 insert 되었습니다.
제가 생각하는 insert 과정은 아래와 같은데 혹시 어떤게 잘못되었는지 알 수 있을까요..?
엔티티매니저의 persist로 영속성 컨텍스트에 멤버 엔티티 올림 -> 멤버 엔티티의 이름을 lee로 변경 -> 트랜잭션 커밋 -> 영속성 컨텍스트 flush -> 멤버객체(name 이 lee 인 상태)가 insert 됨.
추가로 변경감지도 되지 않는것 같아서 질문드립니다.
member1을 insert 하고 영속성 컨텍스트를 clear 한 뒤, 다시 select 해서 name을 변경했는데 update 쿼리가 날라가지 않네요..
jpql로 update 쿼리 짜서 하면 update 쿼리가 날라긴 합니다.. 변경감지는 왜 안되는 걸까요..?
답변 2
2
안녕하세요. 최영원님
다음 코드에서 제가 주석 처리한 부분이 있는데요. 이 부분을 확인해주세요.
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "t_member_seq")
@Column(name = "member_no", nullable = false, updatable = false)
private Long memberNo;
@Column(name = "name", /*nullable = false, updatable = false,*/ length = 10)
private String name;
}
감사합니다.
0
안녕하세요. 최영원님, 공식 서포터즈 David입니다.
.
트랜잭션을 시작하고 커밋하는 부분이 안 보이네요.
테스트 전체 코드를 보여주실 수 있으실까요?
.
감사합니다.
0
이상하네요.
혹시 쿼리랑 쿼리에 바인딩 되는 파라미터 로그 캡쳐해주실 수 있을까요?
그리고 아래 링크 참고하셔서 프로젝트를 구글드라이브로 공유 부탁드립니다.
0
프로젝트 공유 : https://drive.google.com/file/d/14qtQhY7R7Jmktrq4-eYImKZ_1RwHyw_e/view?usp=sharing
첫번째 테스트 실행 로그 입니다.
두번재 테스트 실행 로그 입니다.
벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?
0
33
2
inheritance startegy 선택시 고려사항
0
24
1
Entity 동등성 비교
0
23
1
실무 조언 관련 질문입니다.
0
48
1
H2데이터베이스 파일 생성
0
58
2
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
0
57
2
수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?
0
58
1
JPQL 메소드와 락
0
55
1
Delivery @OneToOne
0
61
1
17강 4~5분대 테이블 값 조회가 안됩니다.
0
97
2
UnsupportedOperationException 발생
0
87
3
H2 Database 연결이 안됩니다.
0
98
2
연관관계 매핑 질문드립니다.
0
88
2
h2데이터베이스 실행오류
0
110
2
persistence.xml
0
112
2
양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?
0
83
1
영속성 컨텍스트
0
69
1
JPA 프록시
0
98
1
Native Query와 MyBatis
0
71
1
영속성 컨텍스트는 어떤 메모리에 저장되는건가요?
0
92
1
임베디드 타입 예시 코드 관련 질문
0
121
3
명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요
0
96
3
인텔리제이 패키지 커서 단축키 질문
0
109
2
혹시 현재는 ID 데이터 타입이 String이면 안되나요?
0
149
1





