작성자 없음
작성자 정보가 삭제된 글입니다.
작성
·
170
답변 1
0
안녕하세요. 형욱님
플러시를 한다고 해서 커밋이 되는 것은 아닙니다.
커밋은 별도로 실행해야 합니다.
그런데 JPA를 통해서 커밋을 하면 플러시가 자동으로 먼저 실행되고, 커밋됩니다.
감사합니다.
안녕하세요. 형욱님^^
제가 직접 정답을 알려드릴 수 도 있지만, 그러면 더 많은 것을 얻어가지 못합니다.
개발자는 궁금한 부분을 직접 코드로 테스트 해볼 때 가장 많이 배울 수 있습니다.
해당 부분을 코드로 직접 테스트해보시고, 그 결과를 공유해주세요. 그러면 함께 공부하는 분들께도 큰 도움이 될거에요.
그럼 테스트 해보시고 결과도 정리해서 공유 부탁드립니다.
감사합니다.
맴버 객체에 @GeneratedValue를 Auto로 선택하고
메인 클래스 파일에서
Member member = new Member();
member.,setName("test");
em.persist(member);
em.persist 할 때에 1차 캐시에 기본키를 모르기 때문에 먼저 flush를 실행하여 디비에 먼저 반영을 해서 기본키를 가져와 1차 캐시에 member 객체를 관리하는 걸로 이해를 했습니다.
그렇다면 디비에는 반영이 들어가있지만 커밋이 실행되지 않는 상태이므로 임시적으로 디비에 값이 들어가 있다고 생각하면 되는걸까요?
그 후에 commit이 실행되면 저장되고 실행되지 않는다면 취소되는 걸로 이해하면 되는걸까요 ?