Backend/Spring Boot

프록시와 연관관계 정리 프록시와 즉시로딩, 지연로딩 영속성 전이와 고아 객체 객체는 객체 그래프로 연관된 객체들을 탐색하는데 그때 객체가 데이터베이스에 저장되어있어서 연관된 객체를 맘껏 탐색하기는 어려움 -> 이 문제를 해결하기 위해 프록시라는 기술 사용 프록시를 사용하면 연관된 객체를 처음부터 DB에서 조회하지 않고, 실제 사용하는 시점에 조회 자주 사용하는 객체들은 조인을 사용해서 조회하는 것이 효과적 JPA는 즉시 로딩과 지연 로딩을 지원 프록시 엔티티를 조회할 때 연관된 엔티티들이 항상 사용되는 것은 아님 -> 한 엔티티를 조회할 때 연관된 엔티티를 같이 조회하는 것은 비효율적 JPA는 이런 문제를 해결하기 위해 엔티티가 실제 사용될 때 까지 조회를 지연하는 방법을 제공 = 지연 로딩 프록시 클래..
7장 고급 매핑 상속 관계 매핑 @MappedSuperclass 복합 키와 식별 관계 매핑 조인 테이블 엔티티 하나에 여러 테이블 매핑 상속 관계 매핑 슈퍼타입 서브타입 논리 모델을 실제 물리 모델인 테이블로 구현할 때는 3가지 방법을 선택할 수 있음 1. 각각의 테이블로 변환 (조인 전략) 엔티티 각각을 모두 테이블로 만들고 자식 테이블이 부모 테이블의 기본 키를 받아서 기본키 + 외래키로 사용하는 전략 조회할 때 조인을 자주 사용함 주의점: 객체는 타입으로 구분할 수 있지만 테이블은 타입의 개념이 없음 -> 타입을 구분하는 컬럼을 추가해야 함 예제에서는 DTYPE 컬럼을 구분 컬럼으로 사용 조인 전략 장점 테이블이 정규화 됨 외래키 참조 무결성 제약조건을 활용할 수 있음 저장공간을 효율적으로 사용함..
다양한 연관관계 매핑 연관관계를 매핑할 때 고려하는 3가지 다중성 단방향, 양방향 연관관계의 주인 다중성 다대일: 단방향, 양방향 일대다: 단방향, 양방향 일대일: 주 체이블 단방향, 양방향 일대일: 대상 테이블 단방향, 양방향 다대다: 단방향, 양방향 다대일 외래키는 항상 다쪽에 있으므로 객체 양방향 관계에서 연관관계의 주인은 항상 다쪽이다. 다대일 단방향 예시 @ManyToOne @JoinColumn(name = "TEAM_ID") private Team team; 다대일 양방향 예시 @OneToMany(mappedBy="team") private List members = new ArrayList(); 일대다 엔티티를 하나 이상 참조할 수 있으므로 자바 컬렉션인 Collection, List, Se..
s3Client.getUrl(bucket, fileName).toString() 위 코드로 file url을 가져왔는데 위와 같은 오류가 뜨는 경우이다. 이 경우 s3클라이언트 생성자 부분에 enablePathStyleAccess 를 넣어 해결할 수 있다. @Bean(name = "s3Client") public AmazonS3Client amazonS3Client() { BasicAWSCredentials awsCreds = new BasicAWSCredentials(accessKey, secretKey); return (AmazonS3Client) AmazonS3ClientBuilder.standard() .withRegion(region) .withCredentials(new AWSStaticCre..
lim.dev
'Backend/Spring Boot' 카테고리의 글 목록 (2 Page)