전체 글 61

build.gradle > dependencies 의존성 옵션

- Compile 시점 의존성 : 프로젝트를 컴파일할 때 사용, 해당 라이브러리의 API 사용 가능- Runtime 시점 의존성 : Application을 실행할 때 사용, 실행 시에도 라이브러리 필요- 은닉성 : 'implementation'으로 추가된 의존성은 다른 프로젝트 모듈에서 직접 접근불가 (모듈간 캡슐화) implementation직접적인 의존성을 추가할 때 사용특정 라이브러리나 모듈이 컴파일 시에 필요하고 프로젝트 외부로 공개될 필요가 없는 경우 runtimeOnlyRuntime 시점에만 필요한 라이브러리를 추가할 때 사용ex. Logging, DB 관련 라이브러리 등 testImplementation테스트 코드를 수핼할 때 적용할 라이브러리를 추가할 때 사용라이브러리나 빌트인 DB를 테스..

TIL 2024.10.01

JPA 연관관계

@OneToOne일대일 관계를 나타내는 매핑 정보1:1 관계를 지정하기에 앞서 이것이 꼭 물리적으로 테이블이 분리되어야 하는지에 대해 생각해 봐야 합니다.1:1 관계로 구성 한다는 것은 결국 하나의 목적에 부합되는 공통된 데이타를 관리한다고 볼 수 있으며 이것은 하나의 테이블에서 관리 할 수 있는 데이타일 가능성이 높다는 의미입니다.즉, 의도적 중복이 아니라면 사용할일이 없다는 말의도적 중복 예시) 버블 구독상품을 사서 채팅방이 생길경우. 구독상품과 채팅방은 1:1 관계 @OneToMany일대다 관계를 나타내는 매핑 정보@OneToMany가 단방향으로 쓰이면 문제가 발생할 수 있다.속도를 위해 기본적으로 FetchType 설정이 LAZY 로 설정되어 있습니다.속성mappedBy : 연관관계의 주인 필드를..

TIL 2024.10.01