TIL, WIL
-
[WIL] 2023.04.24 ~ 04.30TIL, WIL 2023. 4. 30. 20:03
💬 이번주 알게 된 점 실무에서 Getter의 경우 모두 열어두는 것이 편리하다. 하지만 Setter는 데이터가 변하기 때문에 엔티티가 왜 변경하는지 추적하기가 점점 힘들어진다고 한다. 그래서 Setter 대신에 변경 시점이 명확하도록 변경을 위한 비즈니스 메서드를 별도로 제공해야 한다. 실무에서는 @ManyToMany 사용하지 말자! 중간 테이블 값을 더 넣을 수가 없기 때문에.. 운영하기도 어려움 값 타입은 변경이 되면 안 된다. 생성할 때만 값이 세팅이 되고 Setter를 제공을 안 하도록 해야 함 모든 관계는 지연로딩으로 설정! 즉시로딩(EAGER)은 예측이 어렵고, 어떤 SQL이 실행될 지 추적하기 어렵다. 특히 JPQL을 실행할 때 N+1 문제가 자주 발생한다. 실무에서 모든 연관관계는 지연로..
-
[WIL] 2023.04.17~.04.23TIL, WIL 2023. 4. 23. 21:36
💬 이번주 알게 된 점 Bean : 스프링이 관리하는 객체 IoC 컨테이너 : 스프링이 관리하는 객체를 담아둔 통, 공간 AppConfig : 애플리케이션 전체를 설정하고 구성한다. DIP : 추상화에만 의존해야 함! DIP , OCP Annotation @Getter @Setter @ToString @RequiredArgsConstructor => final이 붙은걸 생성자를 가지고 만들어줌 롬복 라이브러리가 제공하는 @RequiredArgsConstructor 기능을 사용하면 final이 붙은 필드를 모아서 생성자를 자동으로 만들어준다. (코드에는 보이지 않지만 실제 호출 가능하다) @Component public class OrderServiceImpl implements OrderService{ ..