inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실전! Querydsl

예제 도메인 모델과 동작확인

@Transactional + @Commit의 의미

275

Jaesang Yoon

작성한 질문수 59

0

비슷한 질문이 올라왔는데 질문의 의도와 답변 내용이 불일치하는 것 같아 다시 한번 질문드리겠습니다.

@Transactional(readonly=false)는 테스트 후에 자동으로 롤백되는 기본 동작을 방지하기 위해(즉 커밋되도록 하기 위해) 사용됩니다. 이전 강의에서 JUnit 테스트 시 데이터를 변경한 결과를 DB에서 확인하고자 할 때 이 설정을 사용한 것으로 기억합니다.

 

질문

@Transactional은 기본적으로 rollback=true가 디폴트이므로 @Transactional + @Commit은 @Transactional(readonly=false) 같은 의미라고 볼 수 있을까요?

java jpa

답변 2

0

David

안녕하세요. Jaesang Yoon님, 공식 서포터즈 David입니다.

  1. @Commit은 테스트에서 사용됩니다. 테스트 메서드가 종료된 다음에 트랜잭션을 커밋시키도록 합니다.

  2. 혹시 @Transactional의 속성에서 rollback이 아니라 rollbackFor을 말씀하시는걸까요?

감사합니다.

0

Jaesang Yoon

  1. Transactional의 readonly 옵션에 대해 질문하려했는데 제가 잘못 적어뒀네요 ^^; 본문 수정하겠습니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

Jaesang Yoon님의 질문에 대해 관련 정보를 찾았습니다. 질문에서 언급한 @Transactional@Commit의 사용과 관련하여, 말씀하신 것처럼 Spring 프레임워크에서 @Transactional 어노테이션은 기본적으로 트랜잭션의 롤백 여부를 제어합니다. 이 때, rollback=true는 트랜잭션이 성공적으로 완료되더라도 변경 사항을 롤백(취소)하라는 의미인 반면, rollback=false는 트랜잭션이 성공적으로 완료될 경우 변경 사항을 커밋하라는 것을 의미합니다.

실제로 유사한 질문에 대해 다른 사용자가 제기한 질문과 이에 대한 답변을 참고하는 것이 도움이 될 수 있습니다.

  • 질문 “@Rollback(false)와 @Commit의 차이“에서 “@Rollback(false)와 @Commit은 사실상 같은 기능을 수행한다는 것을 알 수 있습니다.“라고 명시되어 있습니다. 이는 @Transactionalrollback=false를 설정하는 것과 @Commit을 사용하는 것이 동일한 결과를 초래한다는 것을 의미합니다.

따라서, Jaesang Yoon 님의 이해와 동일하게 @Transactional + @Commit의 조합은 @Transactional(rollback=false)와 같은 의미로 볼 수 있습니다. 이 설정은 주로 테스트 환경에서 실제 데이터베이스에 변경 사항을 반영하여 결과를 확인하고자 할 때 사용됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

Jaesang Yoon

지식공유자님의 답변을 기다립니다.

SpringBoot 4.X에서의 Querydsl 설정

0

88

2

querydsl 오픈소스에 대한 질문

0

72

1

예제에서의 카운트 쿼리에서 join문과 where문은 필요없지 않나요?

0

109

1

Querydsl 6.X버전에 대해서 어떻게 생각하시나요?

0

317

2

여러 테이블 조인하여 통계치를 구하고자 할 때 어떤 방법이 더 효율적일까요

1

70

1

fetchResults()는 더이상 권장되지 않는다는데 맞나요?

0

160

1

querydsl sum() 메서드 없어요.

0

159

2

build 디렉터리 생성

0

136

2

자바 ORM 표준 JPA 프로그래밍 - 기본편 듣고 바로 학습해도 괜찮을까요?

0

114

2

현재 Querydsl에서 from절 서브쿼리를 지원하나요?

0

91

1

오타 제보 드립니다.

0

72

2

벌크 연산과 flush, clear

0

76

1

Run As Intellij 로 변경시 Q타입 import 불가

0

88

1

QHello import하기 문제 발생

0

147

2

등록된 함수 보는법(H2Dialect) 질문

0

68

2

5.0부터 Querydsl은 향후 fetchCount() , fetchResult() 를 지원하지 않기로 결정했다고 하는데 이에 맞는 강의

1

196

2

[환경설정 PDF 부트 3.0이후 설명 질문] build.gradle에 compileQuerydsl을 정의하지 않은 상태에서 Gradle->Tasks->other->compileQuerydsl을 클릭하라고 하는 이유가 무엇인가요??

1

200

1

querydsl 설정 문제

0

222

2

quey dsl 설정부분

0

158

2

count 쿼리 관련 질문입니다!

0

75

1

stringtemplate를 이용하여 where절 검색 방법 질문 드립니다.

0

89

1

답변부탁드리겠습니다.

0

89

2

(OrderSpecifier)관련 내용 어디있을가요

0

65

1

중급문법 벌크연산에서

0

81

2