본문 바로가기
TIL WIL

20220727 TIL

by Youngin 2022. 7. 28.

git merge시 커밋메시지 작성

예진님의 숙원사업을 함께 달성했다 : Git 충돌나고 해결한 다음 머지될때는 자동으로 메시지가 들어가서, 그걸 해결하고 싶으셨는데 그거 해결하고 git commit -m으로 메시지 쓰면 되는 거였다.

 

@Bean vs @Component

@Bean 

@Bean 어노테이션은 method 레벨 어노테이션으로 개발자가 수정할 수 없는 3rd 라이브러리 객체를 IoC Container에 등록하고 싶을 때 사용한다.

@Bean을 사용할 때는 @Configuration 어노테이션이 추가된 클래스 내부에서 생성 할 수 있다. 

 

@Component 

@Component는 개발자가 직접 작성한 클래스를 Bean으로 등록할 수 있는 방법이다. 아래 코드처럼 공통적으로 사용하고 싶은 클래스가 있다면 클래스 이름 위에 @Component 어노테이션을 붙여준다. 

출처: https://selfish-developer.com/entry/Bean-vs-Component [아는 개발자:티스토리]

차이점

@Bean과 @Component를 헷갈릴 수 있는데 Third party 라이브러리를 Bean으로 등록하는 경우에는 @Bean을 사용하고 그렇지 않은 경우에는 @Component로 사용한다고 생각하면 쉽다. 사실 이럴수 밖에 없는 것이 @Component는 클래스 이름 위에서 선언이 가능한데 Third party 라이브러리는 클래스 수정이 불가능하므로 method level 어노테이션인 @Bean을 사용할 수밖에 없다.

출처: https://selfish-developer.com/entry/Bean-vs-Component [아는 개발자:티스토리]

 

 

cascade

Parent 중심으로 개발하고 싶은데 Parent를 저장할 때 함께 Child도 함께 저장하고 싶다고 생각하면, 이 때 CASCADE를 사용

근데  all을 주로 많이 사용하는것 같은데, 어떤 경우에 굳이 옵션들을 나눠서 사용하는지 더 알아봐야 할듯

 

Cascade 사용시 child들은 save처리 생략이 가능하다

parentRepository.save(parent);
//  childRepository.save(child1);
//  childRepository.save(child2);

▣ 영속성전이(CASCADE)

* 특정 Entity를 영속 상태로 만들 떄 연관된 Entity도 함께 영속상태로 만들고 싶을 때.

 - 부모(1) Entity를 저장 할 때 자식(*) Entity도 함께 저장하고 싶을 때.

 

◈ 영속성전이 주의사항

* 영속성 전이는 연관관계 매핑하는것과 아무 관련이 없음.

 - Entity를 영속화 할 때 연관된 Entity도 함께 영속화하는 편리함을 제공할뿐임.

* 다른 Entity가 Child와 연관이 있으면 해당 CASCADE를 사용하면 안된다.

 - Parent와 Child의 LifeCycle이 동일할때 (등록,삭제 등) 사용하기

 - 단일 Entity에 완전히 종속적일 때 사용하면 괜찮다.

 

◈ CASCADE 옵션

 - ALL : 모두 적용

 - PERSIST : 영속

 - REMOVE : 삭제

 - MERGE : 병학

 - REFRESH : refresh

 - DETACH : detach

https://adg0609.tistory.com/30

 

[인프런 김영한] JPA - 영속성전이(CASCADE)

[인프런 김영한] JPA - 영속성전이(CASCADE) 해당 글은 인프런 김영한강사님의 영상을 보고 정리한 글입니다. Spring Boot, Spring Data JPA를 사용해 실습하였습니다. 김영한 인프런 : www.inflearn.com/users/@..

adg0609.tistory.com

https://modimodi.tistory.com/22

https://jammdev.tistory.com/m/178

https://adg0609.tistory.com/30

https://allonsyit.tistory.com/108

https://velog.io/@max9106/JPA%EC%97%94%ED%8B%B0%ED%8B%B0-%EC%83%81%ED%83%9C-Cascade

https://zzang9ha.tistory.com/350

'TIL WIL' 카테고리의 다른 글

WIL_at the end of project  (0) 2022.08.01
TIL 220729  (0) 2022.08.01
20220726 TIL  (0) 2022.07.26
20220725 TIL  (0) 2022.07.25
WIL  (1) 2022.07.25