-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spring Transaction Propagation 옵션에 대한 내용 수정 #49
Open
Joyykim
wants to merge
2
commits into
ksundong:master
Choose a base branch
from
Joyykim:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change | ||
---|---|---|---|---|
|
@@ -1013,6 +1013,18 @@ print("hello world!") | |||
<p>모든 의존성을 생성자를 통해 주입하면, 인스턴스 생성 시 즉시 어떠한 동작을 실행할 수 있습니다. 또한 추가적인 설정은 필요하지 않으며, 뜻하지 않게 의존성과 설정값을 빠뜨리는 일이 발생하지 않고 테스트에도 용이합니다.</p> | ||||
</details> | ||||
|
||||
<details> | ||||
<summary>스프링 트랜잭션 Propagation(전파) 옵션을 설명해주세요.</summary> | ||||
</br> | ||||
<p>대기업면접에서 나왔던 질문으로 트랜잭션 고립단계와 같이 질문할 가능성이 있습니다.</p> | ||||
<p>스프링 트랜잭션 Propagation은 트랜잭션 동작 도중 다른 트랜잭션을 호출(실행)하는 상황에 선택할 수 있는 옵션입니다.</p> | ||||
<p>@Transactional 의 propagation 속성을 통해 피호출 트랜잭션의 입장에서는 호출한 쪽의 트랜잭션을 그대로 사용하거나, 새로운 트랜잭션을 생성하는 등의 동작을 선택할 수 있습니다.</p> | ||||
<p>REQUIRED(디폴트): 이미 트랜잭션이 실행 중이라면 같은 트랜잭션 내에서 실행하고, 실행 중인 트랜잭션이 없을 경우 새로운 트랜잭션을 생성합니다.</p> | ||||
<p>REQUIRES_NEW: 이미 트랜잭션이 실행 중이어도 새로운 트랜잭션을 생성합니다. 새로 생성한 트랜잭션은 부모 트랜잭션과 독립적으로 커밋/롤백됩니다.</p> | ||||
<p>이 외에도 SUPPORTS, MANDATORY, NOT_SUPPORT, NEVER, NESTED 옵션들이 있습니다.</p> | ||||
<p>(실무에서는 주로 REQUIRED, REQUIRES_NEW 를 많이 사용합니다)</p> | ||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
이 부분은 주관적인 의견이 강해 제거 요청드립니다. |
||||
</details> | ||||
|
||||
#### JPA | ||||
|
||||
<details> | ||||
|
@@ -1029,16 +1041,6 @@ print("hello world!") | |||
</ul> | ||||
</details> | ||||
|
||||
<details> | ||||
<summary>JPA Propagation 전파단계를 설명해주세요.</summary> | ||||
</br> | ||||
<p>대기업면접에서 나왔던 질문으로 트랜잭션 고립단계와 같이 질문할 가능성이 있습니다.</p> | ||||
<p>JPA Propagation은 트랜잭션 동작 도중 다른 트랜잭션을 호출(실행)하는 상황에 선택할 수 있는 옵션입니다.</p> | ||||
<p>@Transactional의 propagation 속성을 통해 피호출 트랜잭션의 입장에서는 호출한 쪽의 트랜잭션을 그대로 사용할 수도 있고, 새롭게 트랜잭션을 생성할 수도 있습니다.</p> | ||||
<p>REQUIRED(디폴트): 부모 트랜잭션 내에서 실행하며 부모 트랜잭션이 없을 경우 새로운 트랜잭션을 생성합니다.</p> | ||||
<p>이 외에도 종류가 REQUIRES_NEW, SUPPORTS, MANDATORY, NOT_SUPPORT, NEVER, NESTED 가 있지만 신입이 실제로 다뤄본 경험이 적기 때문에 REQUIRED(디폴트)값만 답변했습니다.</p> | ||||
</details> | ||||
|
||||
<details> | ||||
<summary>JPA를 쓴다면 그 이유에 대해서 설명해주세요.</summary> | ||||
</br> | ||||
|
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
사실 이 질문은 제가 받은건데요, 면접관께서 JPA 라고 말씀주셔서 JPA로 위치시켰습니다.
다만, 올바른 정보로 전달되는게 맞다고 판단되어 해당 부분은 제거 요청드립니다.