개발/TMP

2023.09.05.TUE

잇(IT) 2023. 9. 5. 11:55
728x90
 - @Transactional

@Transactional 어노테이션을 붙이면 일반적으로 save() 메서드를 호출하지 않아도 변경 내용이 자동으로 DB에 저장될 수 있습니다. @Transactional 어노테이션이 메서드 레벨이나 클래스 레벨에 적용되면 해당 메서드 내에서 일어나는 데이터베이스 관련 작업들은 하나의 트랜잭션으로 묶이게 됩니다.

Spring Framework에서 @Transactional 어노테이션을 사용하면 다음과 같은 동작이 발생합니다:

메서드 내에서 데이터베이스 작업이 시작될 때 트랜잭션이 시작됩니다.
메서드 실행 도중 예외가 발생하지 않으면, 메서드가 정상적으로 종료되면서 트랜잭션이 커밋됩니다. 이때 변경 내용이 데이터베이스에 저장됩니다.
메서드 실행 도중 예외가 발생하면 트랜잭션이 롤백되며, 변경 내용은 데이터베이스에 적용되지 않습니다.
따라서 @Transactional 어노테이션을 사용하면 메서드 내에서 save() 메서드를 호출하지 않더라도, 트랜잭션 커밋 시 변경 내용이 자동으로 데이터베이스에 저장됩니다. 이를 통해 데이터 일관성과 무결성을 유지할 수 있습니다.


- @Builder가 붙은 생성자는 Build 하는 순간 해당 생성자가 호출된다. 




728x90

'개발 > TMP' 카테고리의 다른 글

2023.09.07.THU  (0) 2023.09.07
2023.09.06.WED  (0) 2023.09.06
2023.09.04.MON  (0) 2023.09.04
2023.08.30.WED  (0) 2023.08.30
2023.08.29.TUE  (0) 2023.08.29