-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
JPQL Flush 관련 질문
19.07.19 01:56 작성 조회수 78
0
안녕하세요. 강사님.
좋은 강의 잘 보고 있습니다.
flush/JPQL 관련 질문입니다.
아래와 같이 실행을 하면 마지막 3번 insert를 실행하지 않습니다.
JPQL 실행전 FlushModeType.COMMIT 으로도 해봤지만, 똑같이 3번 insert를 실행하지 않습니다.
JPQL을 빼면 실행이 되구요.
참고로 저는 JPA를 이번에 처음 해봅니다. ^^
1. Member 생성 -> persist
2.JPQL 실행
3.Member 생성 -> persist
4.commit
답변을 작성해보세요.
1
김영한
지식공유자2019.07.20
안녕하세요 병준님
코드를 확인해보니 보니까 중간에 예외가 발행해서 트랜잭션 커밋까지 못갔더라구요.
그래서 플러시가 호출될 기회가 없었습니다.
다음처럼 catch 부분에서 e.printStackTrace() 호출 코드를 추가하면 중간에 발생한 예외를 확인하실 수 있습니다^^
생각해보니 저도 처음 JPA 사용할 때 이것 때문에 한번 해매던 기억이 나네요^^
} catch (Exception e) {
e.printStackTrace(); //추가
tx.rollback();
} finally {
em.close();
}
0
0
0
김영한
지식공유자2019.07.19
반갑습니다. 병준님^^
현재 상황만 봐서는 딱 뭔가 떠오르지가 않네요. 뭔가 다른 문제가 겹쳐 있을 것 같아요.
(저도 흥미진진하네요.)
실행해보신 예제 프로젝트 자체를 압축해서 zipkyh@gmail.com으로 보내주시면 정확한 답을 해드릴 수 있을 것 같아요.
답변 4