Backend

    [JPA] Value Type

    이 포스트는 김영한님의 "자바 ORM 표준 JPA 프로그래밍"을 참조하였음을 알립니다. 📕 목차 1. 기본 값 타입 (Basic value type) 2. 임베디드 타입 (Embedded type, 복합 값 타입) 3. 값 타입과 불변 객체 4. 값 타입 비교 5. 값 타입 컬렉션 (Collection value type) ✒️ 값 타입의 종류 Entity 타입은 식별자를 통해 지속해서 추적할 수 있지만, 값 타입은 추적할 수 없는 단순 수치 정보다. 모든 값 타입은 Entity의 Life cycle에 의존하므로 컴포지션(composition) 관계가 된다. • 기본값 타입 ∘ 자바 기본 타입 ∘ 래퍼 클래스 ∘ String • 임베디드 타입 • 컬렉션 값 타입 1. 기본 값 타입 (Basic value..

    [SQL] Advanced SQL

    우재남님의 "혼자 공부하는 SQL"을 기반으로 학습한 게시물입니다. 📕 목차 1. MySQL의 데이터 형식 2. 두 테이블을 묶는 조인 3. SQL 프로그래밍 1. MySQL의 데이터 형식 📌 데이터 형식 1️⃣ 정수형 데이터 형식 바이트 수 숫자 범위 TINYINT 1 -128 ~ 127 SMALLINT 2 -32,768 ~ 32,767 INT 4 -21^31 ~ 21^31-1 BIGINT 8 UNSIGNED : 정수형 데이터 형식 뒤에 붙일 수 있다. 2️⃣ 문자형 데이터 형식 바이트 수 CHAR(개수) 1~255 VARCHAR(개수) 1~16,383 char는 고정 길이, varchar는 가변 길이 문자형이다. 공간 측면으로는 varchar가 좋지만, 성능 측면으로는 char가 빠르다. 3️⃣ 대량..

    [JPA] Proxy

    이 포스트는 김영한님의 "자바 ORM 표준 JPA 프로그래밍"을 참조하였음을 알립니다. 📕 목차 1. 프록시 2. 즉시 로딩과 지연 로딩 3. 지연 로딩 활용 4. 영속성 전이: CASCADE 5. 고아 객체(Orphan Object) 6. 영속성 전이 + 고아 객체, 생명주기 👀 Summary • 객체 그래프 탐색을 위해 Proxy를 사용한다. • 객체 조회 시에는 즉시 로딩과 지연 로딩이 있다. • 객체 저장&삭제 시, 연관 객체를 함께 저장&삭제하려면 영속성 전이를 사용한다. • 부모 객체와 연관관계가 끊어진 자식을 자동으로 삭제하려면 고아 객체 제거 기능을 사용한다. 1. 프록시 연관된 객체를 처음부터 전부 다 가져오지 않고, 실제 사용 시점에 데이터베이스에서 조회하는 방법이다. JPA 표준 명세..

    [SQL] Basic SQL

    우재남님의 "혼자 공부하는 SQL"을 기반으로 학습한 게시물입니다. 📕 목차 1. SELECT, FROM, WHERE 2. SELECT 옵션 3. INSERT, UPDATE, DELETE 1. SELECT, FROM, WHERE 📌 USE USE 데이터베이스_이름; 쿼리문을 사용하기 이전에 가장 먼저 사용할 데이터베이스를 지정하는 방법 다른 데이터베이스를 이용하려면 다시 USE 문을 사용하면 된다. USE를 사용하기 싫다면 (데이터베이스_이름).(테이블명)을 반복적으로 사용하면 된다. 📌 SELECT SELECT 열_이름 FROM 테이블_이름 WHERE 조건식 GROUP BY 열_이름 HAVING 조건식 ORDER BY 열_이름 LIMIT 숫자 SELECT 외엔 모두 생략 가능하다. 사용하게 된다면 순서..